1、下载Xdoclet,网址:http://xdoclet./,解压
2、新建包com.test.model,存放实体类Group,User Group.java 1package com.test.model;
User.java2 3import java.util.Set; 4 5/** *//** 6 * 7 * @author Administrator 8 *@hibernate.class table="t_group" 9 */ 10public class Group { 11 /** *//** 12 * @hibernate.id 13 * generator-class="native" 14 */ 15 private int groupid; 16 /** *//** 17 * @hibernate.property 18 */ 19 private String groupname; 20 /** *//** 21 * @hibernate.property 22 */ 23 private String remark; 24 25 /** *//** 26 * @hibernate.set 27 * inverse="true" 28 * @hibernate.key column="groupid" 29 * @hibernate.one-to-many 30 * class="com.test.model.User" 31 */ 32 private Set<User> users; 33 public int getGroupid() { 34 return groupid; 35 } 36 37 public void setGroupid(int groupid) { 38 this.groupid = groupid; 39 } 40 41 public String getGroupname() { 42 return groupname; 43 } 44 45 public void setGroupname(String groupname) { 46 this.groupname = groupname; 47 } 48 49 public String getRemark() { 50 return remark; 51 } 52 53 public void setRemark(String remark) { 54 this.remark = remark; 55 } 56 57 public Set<User> getUsers() { 58 return users; 59 } 60 61 public void setUsers(Set<User> users) { 62 this.users = users; 63 } 64 65} 1package com.test.model;
2 3import java.util.Date; 4 5/** *//** 6 * 7 * @author Administrator 8 *@hibernate.class table="t_user" 9 */ 10public class User { 11 /** *//** 12 * @hibernate.id 13 * generator-class="native" 14 */ 15 private int userid; 16 /** *//** 17 * @hibernate.property 18 */ 19 private String username; 20 /** *//** 21 * @hibernate.many-to-one 22 * column="groupid" 23 * cascade="all" 24 * class="com.test.model.Group" 25 */ 26 private Group group; 27 /** *//** 28 * @hibernate.property 29 */ 30 private String password; 31 /** *//** 32 * @hibernate.property 33 */ 34 private String email; 35 /** *//** 36 * @hibernate.property 37 */ 38 private String question; 39 /** *//** 40 * @hibernate.property 41 */ 42 private String answer; 43 /** *//** 44 * @hibernate.property 45 */ 46 private Date createtime; 47 /** *//** 48 * @hibernate.property 49 */ 50 private int status; 51 52 public String getEmail() { 53 return email; 54 } 55 56 public void setEmail(String email) { 57 this.email = email; 58 } 59 60 public String getQuestion() { 61 return question; 62 } 63 64 public void setQuestion(String question) { 65 this.question = question; 66 } 67 68 public String getAnswer() { 69 return answer; 70 } 71 72 public void setAnswer(String answer) { 73 this.answer = answer; 74 } 75 76 public Date getCreatetime() { 77 return createtime; 78 } 79 80 public void setCreatetime(Date createtime) { 81 this.createtime = createtime; 82 } 83 84 public int getStatus() { 85 return status; 86 } 87 88 public void setStatus(int status) { 89 this.status = status; 90 } 91 92 public int getUserid() { 93 return userid; 94 } 95 96 public void setUserid(int userid) { 97 this.userid = userid; 98 } 99 100 public String getUsername() { 101 return username; 102 } 103 104 public void setUsername(String username) { 105 this.username = username; 106 } 107 108 public String getPassword() { 109 return password; 110 } 111 112 public void setPassword(String password) { 113 this.password = password; 114 } 115 116 public Group getGroup() { 117 return group; 118 } 119 120 public void setGroup(Group group) { 121 this.group = group; 122 } 123 124 125} 3、在test目录下建立build.xml,其中 <property name="xdoclet.home" value="C:/xdoclet-plugins-dist-1.0.4"/>为你所解压的xdoclet目录。 1<?xml version="1.0" encoding="GBK"?>
4、在MyEclipse中配置ANT,添加刚才所建立的build.xml,并运行其两个功能项,刷新项目目录2<project name="test系统构建脚本" default="生成Hibernate配置文件" basedir="."> 3 4 <property name="src.dir" value="${basedir}/src"/> 5 <property name="xdoclet.home" value="C:/xdoclet-plugins-dist-1.0.4"/> 6 7 <!-- build classpath --> 8 <path id="xdoclet.task.classpath"> 9 <fileset dir="${xdoclet.home}/lib"> 10 <include name="**/*.jar"/> 11 </fileset> 12 </path> 13 14 <taskdef 15 name="xdoclet" 16 classname="org.xdoclet.ant.XDocletTask" 17 classpathref="xdoclet.task.classpath" 18 /> 19 20 <target name="生成Hibernate配置文件"> 21 <xdoclet> 22 <fileset dir="${src.dir}/com/test/model"> 23 <include name="**/*.java"/> 24 </fileset> 25 <component 26 classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin" 27 destdir="${src.dir}" 28 version="3.0" 29 hbm2ddlauto="update" 30 jdbcurl="jdbc:mysql://localhost/test" 31 jdbcdriver="com.mysql.jdbc.Driver" 32 jdbcusername="root" 33 jdbcpassword="intrl" 34 dialect="org.hibernate.dialect.MySQLDialect" 35 showsql="true" 36 /> 37 </xdoclet> 38 </target> 39 40 <target name="生成hibernate映射文件"> 41 <xdoclet> 42 <fileset dir="${src.dir}/com/test/model"> 43 <include name="**/*.java"/> 44 </fileset> 45 <component 46 classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin" 47 version="3.0" 48 destdir="${src.dir}" 49 /> 50 </xdoclet> 51 </target> 52 53</project> 刷新项目目录后的项目目录结构如下: Group.hbm.xml 1<?xml version="1.0" encoding="ISO-8859-1"?>
User.hbm.xml2<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate./hibernate-mapping-3.0.dtd"> 3 4<hibernate-mapping> 5 <class table="t_group" name="com.test.model.Group"> 6 <id access="field" name="groupid"> 7 <generator class="native"/> 8 </id> 9 <property name="groupname" access="field"/> 10 <property name="remark" access="field"/> 11 <set inverse="true" access="field" name="users"> 12 <key column="groupid"/> 13 <one-to-many class="com.test.model.User"/> 14 </set> 15 </class> 16</hibernate-mapping> 1<?xml version="1.0" encoding="ISO-8859-1"?>
hibernate.cfg.xml2<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate./hibernate-mapping-3.0.dtd"> 3 4<hibernate-mapping> 5 <class table="t_user" name="com.test.model.User"> 6 <id access="field" name="userid"> 7 <generator class="native"/> 8 </id> 9 <property name="username" access="field"/> 10 <many-to-one column="groupid" cascade="all" access="field" class="com.test.model.Group" name="group"/> 11 <property name="password" access="field"/> 12 <property name="email" access="field"/> 13 <property name="question" access="field"/> 14 <property name="answer" access="field"/> 15 <property name="createtime" access="field"/> 16 <property name="status" access="field"/> 17 </class> 18</hibernate-mapping> 1<?xml version="1.0" encoding="ISO-8859-1"?>
以上代码语法请自行查找资料学习,在此不作详细介绍。2<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate./hibernate-configuration-3.0.dtd"> 3 4<hibernate-configuration> 5 <session-factory> 6 <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 7 <property name="hibernate.connection.url">jdbc:mysql://localhost/test</property> 8 <property name="hibernate.connection.username">root</property> 9 <property name="hibernate.connection.password">intrl</property> 10 <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 11 <property name="hibernate.show_sql">true</property> 12 <property name="hibernate.hbm2ddl.auto">update</property> 13 <mapping resource="com/test/model/Group.hbm.xml"/> 14 <mapping resource="com/test/model/User.hbm.xml"/> 15 </session-factory> 16</hibernate-configuration> 5、资源下载 xdoclet-plugins-dist-1.0.4-bin.zip:http://www./files/f8462580-66f2-11de-8a67-0014221b798a/ apache-ant-1.7.1-bin.zip:http://www./files/78e4fa6e-66b6-11de-8110-0014221b798a/ |
|