| 
         
     
     | 
     | 
    
  
    | 
    hibernate2对SQL Server2000的支持以及从db2xml,xml2java的完整配置过程 | 
   
  
     | 
   
  
     | 
   
  
    | 
     作者:未知  来源:月光软件站  加入时间:2005-5-13 月光软件站  | 
   
  
    没法子,我的机子慢了点,近期也找不到Oracle817的安装程序,我懒.只好用SQL Server 2000了.以前我是用Oracle做数据库,配置过程相当简单,这次用SQL server 2000之后,只有一个感觉,"难受",忙东忙西的,搞了一天.希望有类似情况的朋友能看到这遍文章. ************************************  hibernate应用配置说明  ************************************ 
  ************************************  ant配置  ************************************  下载ant,解压  将ant考到c:跟目录  环境变量里加上ANT_HOME=c:\ant  PATH=c:\ant\bin;  进入命令行模式,输入: ant  如:  C:\>ant  Buildfile: build.xml does not exist!  Build failed  出现该显示,说明ant已配置成功 
  ************************************  Middlegen hibernate配置  ************************************  是hibernate的O/R Mapping工具  http://hibernate.bluemars.net/98.html  可以生成*.hbm.xml文件,是hibernate所需的映射文件  下载Middlegen Hibernate,解压,如D:\hiber\Middlegen-Hibernate-r1\  进入目录,  【配置数据库,以MS SQLSERVER为例,JDBC驱动为JSQL Connect(www.j-netdirect.com)】  1、进入/config/database/目录  2、将JSQLConnect.jar驱动考到/lib/目录  3、编辑mssql.xml文件,如下  <property name="database.script.file" value=""/>  <property name="database.driver.file" value="${lib.dir}/JSQLConnect.jar"/>  <property name="database.driver" value="com.jnetdirect.jsql.JSQLDriver"/>  <property name="database.url" value="jdbc:JSQLConnect://数据库服务器名或IP/database=要操作的数据库名"/>  <property name="database.userid" value="数据库用户名"/>  <property name="database.password" value="数据库密码"/>  <property name="database.schema" value=""/>  <property name="database.catalog" value=""/>  <property name="jboss.datasource.mapping" value="MS SQLSERVER2000"/> 
  【编辑Middlegen hibernate配置】  1、编辑build.xml  2、修改数据库默认文件,找到这行,大概在22行左右  <!DOCTYPE project [  <!--ENTITY database SYSTEM "file:./config/database/hsqldb.xml"-->//原内容,注解掉  <!ENTITY database SYSTEM "file:./config/database/mssql.xml">//加上  ]> 
  3、编辑输出的根目录名,找到该行,大概在30行左右  <!--property name="name" value="airline"/-->//原内容,注解掉  <property name="name" value="com"/>//加上,value为你想要的,如com 
  4、编辑输出的包名,找到该行,大概在210行左右  <!--hibernate  destination="${build.gen-src.dir}"  package="${name}.hibernate"  /-->//原内容,注解掉  <hibernate  destination="${build.gen-src.dir}"  package="${name}.test"  />//加上,生成的xml文件里,会以com.test作为你的package  输出目录为/build/gen-src/com/test/*.hbm.xml(*为对应的表,命名为你自己所定义的名称) 
  5、定义输出的目录,找到该行,在文档最后  <target name="validate">  <xmlvalidate failonerror="no" lenient="no" warn="yes">  <fileset dir="${build.gen-src.dir}/com/test" includes="*.xml" />改成你要输出的目录结构,最好以你的包的结构作为目录结构  </xmlvalidate>  </target> 
  6、在连接Sql server时,提示数据库连接成功,但说没有表,找到该行  <middlegen  appname="${name}"  prefsdir="${src.dir}"  gui="${gui}"  databaseurl="${database.url}"  initialContextFactory="${java.naming.factory.initial}"  providerURL="${java.naming.provider.url}"  datasourceJNDIName="${datasource.jndi.name}"  driver="${database.driver}"  username="${database.userid}"  password="${database.password}" 
  schema="${database.schema}"//去掉  catalog="${database.catalog}" //去掉,这样就可以了  > 
  【配置完毕】  配置完毕后,在根目录下运行ant  则会出现一个可视化的操作界面,如图  默认会根据表名和字段名对应生成相应的名称,当然你也可以自己定义,对应没问题,则可以点击【Generate】,在可发现  /build/gen-src/com/test/*.hbm.xml,会生成相应XML文件 
  ************************************  hibernate-extensions-2.0应用配置  ************************************  这是hibernate的工具,/tools下有3个工具  class2hbm.bat 根据你自己对应表所写的java文件,生成相应的*.hbm.xml文件  ddl2hbm.bat 根据你的数据库表,自动生成*.hbm.xml和*.java文件(如果不需要详细的配置,建议用这种方式生成*.xml和*.java文件)  hbm2java.bat 根据*.hbm.xml生成相应的*.java文件 
  用之前,首先得用ant编译  【注意的地方】  build.xml  <property name="hibernate-core.home" value="../../hibernate-2.0"/>//找到该行,40行左右  value为你得hibernate解压目录 
  【编译完毕】  编译完的文件存放在/tools/target/hibernate-tools-2.0/  现在可以用编译完的执行文件进行映射转化了 
  【应用】  hbm2java.bat  1、进入命令行模式,进入hibernate-tools-2.0目录,进入/bin  2、首先执行setenv.bat,设置一下环境变量,运行前,先检查一下setenv.bat文件,用文本编辑器打开,找到如下行:  set JDBC_DRIVER=C:\Progra~1\SQLLIB\java\db2java.zip;C:\mm.mysql-2.0.14\mm.mysql-2.0.14-bin.jar;D:\j2sdk1.4.1\lib\JSQLConnect.jar  //将你的JDBC驱动添加进去  rem set HIBERNATE_HOME=..\..\hibernate-2.0//原来的  set HIBERNATE_HOME=D:\hiber\hibernate-2.0//改成你当前hibernate-2.0所在目录  3、执行hbm2java.bat D:\hiber\com\test\*.xml //后面所跟的是你用Middlegen Hibernate所生成的*.hbm.xml文件 
  ddl2hbm.bat  1、2步骤如hbm2java  3、运行ddl2hbm,会弹开一个图形界面  4、在Connection面板里,输入JDBC驱动的相关信息,如:  DriverClass:com.jnetdirect.jsql.JSQLDriver  ConnectionUrl:jdbc:JSQLConnect://服务器名/database=数据库名&user=用户名&password=密码(注意这是我所用的驱动支持将用户名和密码放在后面这种格式)  UserName:用户名(我的ConnectionUrl已填写该信息,这里可不填)  PassWord:密码(我的ConnectionUrl已填写该信息,这里可不填)  5、在Code面板里,可以定义包名  6、在Output面板里,可以定义文件输出路径  7、设置好后,进入Table面板,点击tables…按钮,如果数据库连接成功,则会弹开一个小面板,选择你要映射的数据库,点击确定即可,此时  Table面板里就会显示该数据库的所有表格,选择你需要的表,点击“Generate”,则在输出路径里生成*.hbm.xml和*.java文件 
  【注意的地方】  因为Sqlserver不支持hibernate里的sequences类型,在测试代码时会出错,你打开生成的*.hbm.xml  将  <id column="test_id" name="id" type="java.lang.Long">  <generator class="identity"/>//这里改成identity即可  </id> 
  ************************************  实际应用  ************************************  开发环境Jbuilder9  【配置】  1、点击“TOOLS”-“Configure JDK”-,添加hibernate-2.0/lib里如下jar文件  JSQLConnect.jar  hibernate2.jar  commons-beanutils.jar  commons-collections.jar  commons-dbcp.jar  commons-lang.jar  commons-logging.jar  commons-pool.jar  dom4j.jar  cglib-asm.jar 
  【应用】  新建工程testhiber  新建一个table1.java文件,可建一个空的  将你上面所映射的*.xml和*.java文件考到JB的工程文档里的SRC目录  编译,可看到classes里有*.class文件,如果没有*.xml,则将生成的*.xml考到所对应的目录  将hibernate-2.0/src/hibernate.properties考到classes目录  编辑hibernate.properties  1、属性文件里默认连接数据库是:HSQLDialect,所以需先该一下  ## HypersonicSQL ,注销掉其下面的内容,大概在73行  2、修改## JSQL Driver的属性,hibernate对MS SQL默认用的JSQLConnect驱动,大概在103行  ## MS SQL Server  #hibernate.dialect net.sf.hibernate.dialect.SybaseDialect  #hibernate.connection.username sa  #hibernate.connection.password 
  hibernate.dialect net.sf.hibernate.dialect.SybaseDialect  hibernate.connection.username sa  hibernate.connection.password 12345 
  ## JSQL Driver 
  #hibernate.connection.driver_class com.jnetdirect.jsql.JSQLDriver  #hibernate.connection.url jdbc:JSQLConnect://WL99LCX27 
  hibernate.connection.driver_class com.jnetdirect.jsql.JSQLDriver  hibernate.connection.url jdbc:JSQLConnect://gamebus/database=test  其余的配置自己看他的在线文档 
  来自:http://www.cjsdn.com/post/view?bid=2&id=41689&tpg=1&ppg=1&sty=1&age=0#41689  
 
  | 
   
  
     | 
   
  
     相关文章:相关软件:  | 
   
   
      |