ant 项目使用(修改配置,并加上lib 直接使用) 使用ant经行dbjunt测试

功能描述: 
1.ant hibernate:由class xdoclet 得到映射.
2.hbm2ddl  action
   2.0.建立此动作文件                                                    
   2.1.备份数据库,并重建数据库     
   2.2.建立hbm2ddl标签并建create table sql 文件
   2.3.执行sql文件      basicData.sql ; test.sql

3.junit 集成测试

lib 需要

  • commons-collections-2.0.jar
  • commons-logging.jar
  • dom4j-1.6.1.jar
  • hibernate3.jar
  • hibernate-tools.jar
  • junit.jar
  • mysql-connector-java-5.0.8-bin.jar
  • xdoclet-1.2.3.jar
  • xdoclet-hibernate-module-1.2.3.jar
  • xdoclet-xdoclet-module-1.2.3.jar
  • xjavadoc-1.1.jar

文件路径
   ant---------
            +-- basicData.sql  系统数据库建表
            |-- build-dist.properties  项目配置
            |--test.sql  插入测试数据
   build.xml

build.xml
<? xml version="1.0" encoding="utf-8" ?>
<!--
    维护 
        path->hibernatedoclet.class.path
        path->tproject.class.path    
-->
< project  name ="XDoclet Examples"  basedir ="." >
     < property  name ="xdoclet.root.dir"  value ="${basedir}/.."   />
     < property  file ="${xdoclet.root.dir}/build.properties"   />
     < property  file ="./ant/build-dist.properties"   />



    
    
     < path  id ="hibernatedoclet.class.path" >
         < fileset  dir ="${xdoclet2.lib.dir}" >
             < include  name ="*.jar"   />
         </ fileset >
     </ path >


     < path  id ="tproject.class.path" >
         < fileset  dir ="${tproject.lib}" >
             < include  name ="**/*.jar"   />
         </ fileset >
         < fileset  dir ="${tproject.classpath}" >
             < include  name ="**/*.*"   />
         </ fileset >
         < fileset  dir ="${xdoclet2.lib.dir}" >
             < include  name ="*.jar"   />
         </ fileset >
     </ path >

     <!--  ===================================================================  -->
     <!--  Initialise                                                           -->
     <!--  ===================================================================  -->
     < target  name ="init" >
         < tstamp >
             < format  property ="Ttstamp"  pattern ="yyyy_MM_dd_HH_mm_ss"   />
         </ tstamp >
         < taskdef  name ="hibernatedoclet"  classname ="xdoclet.modules.hibernate.HibernateDocletTask"  classpathref ="hibernatedoclet.class.path"   />
     </ target >


     <!--  ===================================================================  -->
     <!--  Invoke XDoclet's hibernate                                           -->
     <!--  ===================================================================  -->
     < target  name ="hibernate"  depends ="init"  description ="Generate mapping documents (run jar first)" >

         < echo >+---------------------------------------------------+ </ echo >
         < echo >|                                                   | </ echo >
         < echo >| R U N N I N G   H I B E R N A T E D O C L E T     | </ echo >
         < echo >|                                                   | </ echo >
         < echo >+---------------------------------------------------+ </ echo >

         < hibernatedoclet  destdir ="${tproject.conf}"  excludedtags ="@version,@author,@todo,@see"  addedtags ="@xdoclet-generated at ${TODAY},@copyright The XDoclet Team,@author XDoclet,@version ${version}"  force ="${samples.xdoclet.force}"  verbose ="true" >
            
             <!--  hibernate 需要维护的 fileset  -->
             < fileset  dir ="demo" >
                 < include  name ="**/*Bean.java"   />
             </ fileset >
             < hibernate  version ="3.0"   />
         </ hibernatedoclet >
     </ target >

     <!--  =================================================================== 
        hbm2ddl  action
            0.建立此动作文件                                                    
            1.备份数据库,并重建数据库     
            2.建立hbm2ddl标签并建create table sql 文件
            3.执行sql文件                                                                                
     =================================================================== 
-->
     < target  name ="hbm2ddl"  depends ="init" >
         < echo >this->create table ENGINE=InnoDB DEFAULT CHARSET=utf8  </ echo >
         < echo >--c:\\my.ini-- </ echo >
         < echo >
            [mysqld]
            default-storage-engine=InnoDB
            default-character-set=utf8
            [mysql]
            default-character-set=utf8
         </ echo >

         < property  name ="this.sql.path"  value ="${tproject.conf.sql}/${Ttstamp}"   />
         < mkdir  dir ="${this.sql.path}"   />
         < echo  message ="for  ${hibernate.cfg.xml.dir} -> ${hibernate.cfg.xml.file}"   />
         < property  name ="sql.file"  value ="hbm2ddl.sql"   />
         < echo  message =" dump mysql database - > ${use.database}"   />
         < property  name ="hibernate.cfg.jdbc.url"  value ="jdbc:mysql://localhost:3306/${use.database}?characterEncoding=${characterEncoding}"   />
         < property  name ="dbAction.jdbc.url"  value ="jdbc:mysql://localhost:3306/mysql?characterEncoding=${characterEncoding}"   />

        
         <!-- 1.备份数据库,并重建数据库   -->
         < sql  driver ="${hibernate.cfg.driver}"  url ="${dbAction.jdbc.url}"  userid ="${hibernate.cfg.username}"  password ="${hibernate.cfg.password}"  print ="yes"   >
             < classpath  refid ="tproject.class.path"   />
            create database if not exists  ${use.database} ;
         </ sql >
         < exec  executable ="cmd" >
             < arg  line ="/c  ${mysql.home}/bin/mysqldump --opt ${use.database} -u${hibernate.cfg.username}  > ${this.sql.path}/dump.sql"   />
         </ exec >
         < sql  driver ="${hibernate.cfg.driver}"  url ="${dbAction.jdbc.url}"  userid ="${hibernate.cfg.username}"  password ="${hibernate.cfg.password}"  print ="yes"   >
             < classpath  refid ="tproject.class.path"   />
            drop database if exists  ${use.database} ;
            create database ${use.database} ;
         </ sql >
        
         <!-- 建立hbm2ddl标签并建create table sql 文件  -->
         < taskdef  name ="hbm2ddl"  classname ="org.hibernate.tool.ant.HibernateToolTask"  classpathref ="hibernatedoclet.class.path" >
             < classpath  location ="${tproject.conf}" >
             </ classpath >
             < classpath >
                 < path >
                     < fileset  dir ="${tproject.conf}" >
                         < include  name ="**/*.hbm.xml"   />
                     </ fileset >
                 </ path >
             </ classpath >
         </ taskdef >
        
         < echo  message =" hbm2ddl database by  - > ${use.database} ${hibernate.cfg.xml.file} "   />
         < echo  message =" hbm2ddl path = ${this.sql.path} "   />
         < echo  message =" hbm2ddl file = ${sql.file} "   />
         < hbm2ddl  destdir ="${this.sql.path}" >
             < configuration  configurationfile ="${hibernate.cfg.xml.file}"   />
             < hbm2ddl  export ="false"  console ="false"  create ="true"  update ="false"  drop ="true"  outputfilename ="${sql.file}"   />
         </ hbm2ddl >
         <!--  执行sql文件  -->
         < sql  driver ="${hibernate.cfg.driver}"  url ="${hibernate.cfg.jdbc.url}"  userid ="${hibernate.cfg.username}"  password ="${hibernate.cfg.password}"  onerror ="continue"  print ="yes"  src ="${this.sql.path}/${sql.file}"  classpathref ="hibernatedoclet.class.path"   />
         < sql  driver ="${hibernate.cfg.driver}"  url ="${hibernate.cfg.jdbc.url}"  userid ="${hibernate.cfg.username}"  password ="${hibernate.cfg.password}"  onerror ="continue"  print ="yes"  src ="./ant/basicData.sql"  classpathref ="hibernatedoclet.class.path"   />
         < sql  driver ="${hibernate.cfg.driver}"  url ="${hibernate.cfg.jdbc.url}"  userid ="${hibernate.cfg.username}"  password ="${hibernate.cfg.password}"  onerror ="continue"  print ="yes"  src ="./ant/test.sql"  classpathref ="hibernatedoclet.class.path"   />
                
     </ target >


     < target  name ="make resource" >
         < delete  file ="${tproject.conf}/globalMessages_zh_CN.properties" >
         </ delete >

         < exec  dir ="${tproject.conf}"  executable ="native2ascii" >
             < arg  line ="
                globalMessages.properties
                globalMessages_zh_CN.properties"
  />
         </ exec >
     </ target >


     <!--  ===================================================================  -->
     <!--  junit                                                              -->
     <!--  ===================================================================  -->
     < target  name ="test" >
         < mkdir  dir ="${tproject.conf}/htmlreport"   />
         < mkdir  dir ="${tproject.conf}/report"   />
         < junit >
             < classpath  refid ="tproject.class.path"   />
             < classpath  path ="${tproject.classpath}" >
             </ classpath >
             < formatter  type ="xml"   />
             < batchtest  haltonfailure ="no"  todir ="${tproject.conf}/report" >
                
                 <!--  junit 需要维护的 fileset  -->
                 < fileset   dir ="./demo" >
                     < include  name ="**/Test*.java"   />
                 </ fileset >
                
                
             </ batchtest >
         </ junit >

         < junitreport  todir ="${tproject.conf}/htmlreport" >
             < fileset  dir ="${tproject.conf}/report" >
                 < include  name ="TEST-*.xml"   />
             </ fileset >
             < report  format ="noframes"  todir ="${tproject.conf}/htmlreport"   />
         </ junitreport >
         < echo  message ="end test -> print->${tproject.conf}/htmlreport/junit-noframes.html "   />
     </ target >

</ project >



配置文件:(我测试项目的)
# These properties are only used when building the samples expanded from the distribution.
xdoclet2.lib.dir=./xdoclet2/lib

tproject.classpath=./WebContent/WEB-INF/classes
tproject.conf=./conf
tproject.lib=./WebContent/WEB-INF/lib
tproject.conf.sql=$ {tproject.conf}/sql

# ------------------------------------------------------------------------------------- #
hibernate.cfg.xml.file=$ {tproject.classpath}/hibernate.cfg.xml
mysql.home=D:/mysql-noinstall-5.0.27-win32/mysql-5.0.27-win32
hibernate.cfg.driver=com.mysql.jdbc.Driver
characterEncoding=utf8
hibernate.cfg.username=root
hibernate.cfg.password=
use.database=aop
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值