随笔-3  评论-0  文章-0  trackbacks-0

之前写了利用ant,hibernate的schemaexport自动生成数据库 http://www.blogjava.net/langsheng/archive/2007/04/08/109203.html

这次写的也是用之前的那个student例子作为试验,,如果有什么不清楚,,可以参考上面的设置,配置说明,,好,开始来生成我们的映射文件吧,,
将类文件修改如下

package student;

/**
 * @hibernate.class table="students"
 * @author Administrator
 *
 */
public class Student {
 private Long id;
 private String name;
 private String sex;
 private String email;
 
 /**
  * @hibernate.property column="email"
  * @return
  */
 public String getEmail() {
  return email;
 }
 public void setEmail(String email) {
  this.email = email;
 }
 
 /**
  * @hibernate.id generator-class="native" column="id"
  * @return
  */
 public Long getId() {
  return id;
 }
 public void setId(Long id) {
  this.id = id;
 }
 
 /**
  * @hibernate.property column="name"
  * @return
  */
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 
 /**
  * @hibernate.property column="sex"
  * @return
  */
 public String getSex() {
  return sex;
 }
 public void setSex(String sex) {
  this.sex = sex;
 }
 
}

@hibernate标签是Xdoclet对hibernate的支持,别问我上面的@hibernate.class  @hibernate.id @hibernate.property是什么意思,如果你真的想要生成hibernate映射文件,就自己找本书或查Xdoclet帮助文档了解下

接下来在D:\workspace\student   下新建xdoclet-build.xml和hibernate.properties文件

    Xdoclet-build.xml如下:

<project name="xdoclet-build.xml" default="copy_generation">
 
<property name="classes.dir" value="bin" />
 
<property name="lib.dir" value="../lib" />
 
<property name="src.dir" value="src"/>
 
<property file="hibernate.properties"/>
 
 
<path id="lib.classpath">
  
<fileset dir="${lib.dir}">
   
<include name="**/*.jar"/>
  
</fileset>
 
</path>
 
 
<path id="src.classpath">
  
<pathelement location="${src.dir}"/>
 
</path>
 
 
<path id="runtime.classpath">
  
<path refid="lib.classpath"></path>
  
<path refid="src.classpath"></path>
 
</path>
 
 
<target name="copy_generation" depends="xdoclet_generation">
  
<copy todir="${classes.dir}">
   
<fileset dir="${src.dir}">
    
<include name="**/*.xml"/>
   
</fileset>
  
</copy>
 
</target>
 
 
<target name="xdoclet_generation" >
  
<taskdef name="hibernatedoclet" 
   classname
="xdoclet.modules.hibernate.HibernateDocletTask"
   classpathref
="runtime.classpath"
  
/>
  
<hibernatedoclet destdir="${src.dir}" verbose="true">
    
<fileset dir="${src.dir}">
     
<include name="**/*.java"/>
    
</fileset>
   
<hibernate version="3.0"/>
   
<hibernatecfg 
    
dialect="${hibernate.dialect}"
    jdbcUrl
="${hibernate.connection.url}"
    driver
="${hibernate.connection.driver_class}"
    username
="${hibernate.connection.username}"
    password
="${hibernate.connection.password}"
    showSql
="false"
    version
="3.0"
   
/>
  
</hibernatedoclet>

  
 
</target>

</project>



   hibernate.properties文件主要是存储数据库的连接信息,,如下:

            hibernate.dialect=org.hibernate.dialect.MySQLDialect
            hibernate.connection.url=jdbc:mysql://localhost/student
            hibernate.connection.driver_class=com.mysql.jdbc.Driver
            hibernate.connection.username=root
            hibernate.connection.password=

接着就用ant去build,就可以生成我们想要的文件了
如下:
D:\workspace\student\src\hibernate.cfg.xml
D:\workspace\student\src\student\Student.hbm.xml
D:\workspace\student\bin\hibernate.cfg.xml
D:\workspace\student\bin\student\Student.hbm.xml

      当然用Xdoclet生成映射文件之后就可以用之前的hibernate的schemaexport任务来生成数据库文件
具体参考http://www.blogjava.net/langsheng/archive/2007/04/08/109203.html

posted on 2007-04-08 10:54 阅读(1181) 评论(0)  编辑  收藏 所属分类: hibernate学习笔记

只有注册用户登录后才能发表评论。


网站导航: