JBuilder9.0开发hibernate应用简单教程!

来源:互联网 发布:非诚勿扰php是那一期 编辑:程序博客网 时间:2024/05/20 15:41

    笔者在开发一些小型的应用中,对数据库的操作比较频繁,直接用jdbc然后手动写sql的方法比较麻烦,且效率较低,而hibernate在数据库的持久化方面有不俗的表现。因此笔者最近研究了一点有关hibernate的东西,虽说比较初级,也希望对够象我一样刚踏入hibernate编程的人有所帮助。
   在hibernate的开发过程中,xml文件和dto编写相对比较麻烦,我查了网上的所有资料,没有发现jbuider对于hibernate的集成解决方案,更多的hibernate插件是针对eclipse的。对于习惯了做jbuilder开发的我来说是不能够忍受的。
   经过几天的琢磨,我发现了middlegen的应用比较方便,首先我找了一个eclipse的插件middlegen,这个插件非常简单,按照eclipse的常规的插件安装方法即可完成。首先启动eclipse(我用的是3.01),如果插件安装顺利的话在file->new ->other->middlegen 下面选择middlegen-build.xml。然后nexe即可看到middlegen的界面(用过middlegen的朋友都应该非常熟悉这个界面)
  

  如上图所示,我们可以选择oracle的驱动程序类,其他的可以按照oracle的jdbc连接来连接即可。
  按generate这样一个build.xml即可生成。
  注意我们这些的所有的目的就是为了产生builde.xml文件
  这个文件的内容如下:
  <?xml version="1.0" encoding="utf-8"?>

<project name="Middlegen Hibernate" default="compile" basedir=".">
   <property file="./build.properties"/>
   <property name="cascade"              value="all" />
   <property name="package"              value="org.ultimania.dto" />
   <property name="gen.xdoclet-tag"      value="true" />
   <property name="gui"                  value="true" />
   <property name="jdbc.jar"             value="D:/JDBC/ORACLE/classes12.jar" />
   <property name="database.driver"      value="oracle.jdbc.driver.OracleDriver" />
   <property name="lib.dir"              value="/d:/eclipse-SDK-3.0.1-win32/eclipse3.0.1/plugins/org.ultimania.middlegenide_0.6.0/middlegen-lib/" />
   <property name="database.url"         value="jdbc:oracle:thin:@192.168.7.9:1521:quanch" />
   <property name="database.userid"      value="dianxinyewu" />
   <property name="database.password"    value="dianxinyewu" />
   <property name="database.schema"      value="dianxinyewu" />
   <property name="database.catalog"     value="" />
   <property name="output.dir"           value="" />

   <target name="init" depends="prepare,fail-if-no-middlegen,fail-if-no-hibernate,fail-if-no-hibernate-ext">

     <taskdef
        name="middlegen"
        classname="middlegen.MiddlegenTask"
        classpathref="middlegen.classpath"
     />

     <taskdef
        name="hbm2java"
        classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"
        classpathref="hibernate-ext.classpath"
     />

    <mkdir dir="${output.dir}"/>

   </target>

   <target name="prepare">

     <path id="middlegen.classpath">
        <pathelement path="${jdbc.jar}"/>
        <fileset dir="${lib.dir}" includes="*.jar"/>
     </path>

     <path id="hibernate-ext.classpath">
       <fileset dir="${lib.dir}"           includes="*.jar"/>
     </path>

     <available property="middlegen" classname="middlegen.MiddlegenTask" classpathref="middlegen.classpath"/>
     <available property="hibernate" classname="net.sf.hibernate.Hibernate" classpathref="hibernate-ext.classpath"/>
     <available property="hibernate-ext" classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask" classpathref="hibernate-ext.classpath"/>


   </target>

   <target name="fail-if-no-middlegen" unless="middlegen">
      <fail>
      Middlegenを
http://tidus.ultimania.org/tmp/から�?ウンロードして、build.propertiesのmiddlegen.dirを設定して下さ�?�?
      </fail>
   </target>

   <target name="fail-if-no-hibernate" unless="hibernate">
      <fail>
      Hibernateを
http://prdownloads.sourceforge.net/hibernate/から�?ウンロードして、build.propertiesのhibenate.dirを設定して下さ�?�?
      </fail>
   </target>

   <target name="fail-if-no-hibernate-ext" unless="hibernate-ext">
      <fail>
      Hibernate-Extensionを
http://prdownloads.sourceforge.net/hibernate/から�?ウンロードして、build.propertiesのhibenate-ext.dirを設定して下さ�?�?
      </fail>
   </target>

   <target name="gen-hbm" depends="init">

    <middlegen
         appname="org.ultimania.dto"
         prefsdir="."
         gui="${gui}"
         databaseurl="${database.url}"
         driver="${database.driver}"
         username="${database.userid}"
         password="${database.password}"
         schema="${database.schema}"
         catalog="${database.catalog}"
      >
         <hibernate
            destination="${output.dir}"
            package="${package}"
            genXDocletTags="${gen.xdoclet-tag}"
            standardCascade="${cascade}"
     javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
  />
  <table name="DJMLB" />
         <table name="DASYWMXB"/>
         <table name="ISDNYWMXB"/>
         <table name="DDNYWMXB"/>
         <table name="ATMYWMXB"/>
         <table name="PCMYWMXB"/>
         <table name="ZZJYWMXB"/>
    </middlegen>
  </target>

  <target name="gen-java" depends="gen-hbm">
    <hbm2java output="${output.dir}">
      <fileset dir="${output.dir}">
        <include name="**/*.hbm.xml" />
      </fileset>
    </hbm2java>
  </target>

  <target name="compile" depends="gen-java">
<!--
    <javac destDir="${output.dir}/classes"
           srcDir="${output.dir}/classes"
           classpathref="hibernate-ext.classpath" />
    <copy todir="${output.dir}/classes">
      <fileset dir="${output.dir}">
         <include name="**/*.hbm.xml" />
      </fileset>
    </copy>
-->
  </target>
<!--
  <target name="jar" depends="compile">
    <jar destfile="${name}.jar">
      <fileset dir="${output.dir}/classes">
         <include name="**/*" />
      </fileset>
    </jar>
  </target>
-->
</project>

其实我们上面所做的所有的工作就是为了生成这样一个build.xml文件。大家可以不必按照上面的步骤走,只需要将上面的文字改动一下即可。无非就是改一下middlegen的一些类的路径,数据库的jdbc访问路径。
 
下面就是比较重要的了,将这个build.xml放到jbuilder的src目录下。然后copy这个文件到src下。
  右键build.xml选择make这样就会出现middegen的常见的界面。
  选择相应的表以及确定相应的关系即可。
  这样dto以及xml文件全部生成,你就可以尽情的享受middlegen带给你的快乐了。

  由于时间有限,写的比较仓促,希望大家肯评!
     
   

原创粉丝点击