zoukankan      html  css  js  c++  java
  • mybatis反向生成实体类、dao层以及映射文件



    在做项目的时候,我们不得不写底层的一些繁琐代码,比如说实体类、dao层之类的,既浪费时间又费事,最主要的是还没效率,kuangkuangkuang的写半天终于写完了,到运行的时候dao层的代码居然还报错!!这要闹哪样啊,Hibernate就给咱们提供了反向快速生成实体类以及映射文件和配置文件,程序员大部门的时间都放在了项目的业务上,这样更能高效率的开发!Hibernate的反向生成的具体我在这里也就不多说了,网上太多太多了,请大家自行查找,当然既然有反向那就有正向,于是,在不久的之前我写了一片博文就是关于hibernate正向生成数据库的全过程:

    Hibernate多对多、正向工程创建数据表——访问温馨提示 欢迎大家进去交流学习!

    nice,咱们现在不如正题,今天我们不说hibernate,也不讲Java,咱们具体讲一下Oracle+mybatis的反向生成,大家请往下看:

    既然是反向生成,那么肯定不能少数据表,那现在就在oracle里面创建一个数据表:

    create table dept (  
            deptno number(11),  
            dname varchar2 (150),  
            loc varchar2 (150)  
        );

    创建完成,插入几条测试数据:

    insert into DEPT (DEPTNO, DNAME, LOC)  
        values (90, '开发部1', '山西吕梁');  
        insert into DEPT (DEPTNO, DNAME, LOC)  
        values (12, 'myName', 'myLocation');  
        insert into DEPT (DEPTNO, DNAME, LOC)  
        values (91, '开发部2', '山西吕梁');  
        insert into DEPT (DEPTNO, DNAME, LOC)  
        values (72, 'bdqn', 'jinan');  
        insert into DEPT (DEPTNO, DNAME, LOC)  
        values (70, 'bdqn', 'jinan');  
        insert into DEPT (DEPTNO, DNAME, LOC)  
        values (10, 'ACCOUNTING', 'NEW YORK');  
        insert into DEPT (DEPTNO, DNAME, LOC)  
        values (20, 'RESEARCH', 'DALLAS');  
        insert into DEPT (DEPTNO, DNAME, LOC)  
        values (30, 'SALES', 'CHICAGO');   
        commit();  

    插入完成!!!

    现在数据表已经准备好了,就可以开始生成了!

    1.先在E盘下面新建一个文件夹(其他盘也可以,没规定)


    2.在完成1的前提下,请大家再去别的地方搞一个oracle的jar包和mybatis-generator-core-1.3.2.jar的jar包放在这个目录下面(放在根目录下面)

    mybatis-generator-core-1.3.2.jar下载地址:这里


    3.继续在这个刚刚创建的文件夹里面新建一个名为src的文件夹


    4.接下来大家在新建一个.xml的文件,名字是generatorConfig.xml(名字尽量和我的一样)


    5.接着我们写这个.xml文件里面的内容:

    (1)头部自然不能少也不能错

    <!DOCTYPE generatorConfiguration    
          PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"    
          "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 

    (2)头部有了咱们就开始配置

    先写根节点:<generatorConfiguration> </generatorConfiguration>
    (3)有了根节点之后我们下面配置数据库(以oracle数据库为例):

    <!-- oracle的jar包文件路径 -->
        <classPathEntry  location="ojdbc6.jar"/>  
        <context id="DB2Tables"  targetRuntime="MyBatis3">  
            <commentGenerator>
    			<!-- 是否取消注释 -->
                <property name="suppressDate" value="true"/>  
                <!-- 是否生成注释代时间戳-->
                <property name="suppressAllComments" value="true"/>  
            </commentGenerator>  
    <!-- 链接配置 --> 
     <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl" userId="pro" password="pro"> 
     </jdbcConnection>
    
    注意:上面的这一段一定要放在<generatorConfiguration> 节点里面

    (4)继续配置类型之间的转换:

     <javaTypeResolver>
    			<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
                <property name="forceBigDecimals" value="false"/>  
            </javaTypeResolver>  
    (5)配置生成的实体类,含包名、路径,cn.bdqn.mybatis 这个路径可以自动生成,但是你得要有必须有src这个路径,没有的话创建一个

     <javaModelGenerator targetPackage="cn.bdqn.mybatis" targetProject="src">
    			<!-- 是否在当前路径下新加一层schema,eg:fase路径cn.bdqn.mybatis, true:cn.bdqn.mybatis.[schemaName] -->
                <property name="enableSubPackages" value="true"/>
    			<!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
                <property name="trimStrings" value="false"/>  
            </javaModelGenerator>  

    (6)生成xml文件的路径,这个路径可以自动生成,但是必须有src这个路径(没有的话创建一个)

      <sqlMapGenerator targetPackage="cn.bdqn.mybatis.dao" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
            </sqlMapGenerator> 

    (7)生成Dao类的路径,这个路径可以自动生成,但是必须有src这个路径(没有的话创建一个)


    <javaClientGenerator type="XMLMAPPER" targetPackage="cn.bdqn.mybatis.dao" targetProject="src">  
                <property name="enableSubPackages" value="true"/>  
            </javaClientGenerator> 

    (8)生成对应表及类名,你想生成几个咱就给你生成几个,听你的,前提是你得先告诉计算机你要生成几个!

    table tableName="dept" domainObjectName="Dept" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>

    其中:tableName:表名

    domainObjectName:实体类名

    (9)结束掉,配置就OK了

    </context>
    </generatorConfiguration>

    (10)配置是配置好了,怎么运行呢?两种:

    第一:打开dos命令,定位到:e:mybatis目录下面之后,执行java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite 输入之后回车

    第二:在你的当前目录下(不是src目录下),创建;一个.bat文件,里面内容是cmd.exe,运行这个.bat文件之后你会发现她自动打开了cmd,并且自动定位到了当期目录下面了,然后你输入:java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite 按下回车,出现:


    就证明,骚年,你成功了!

    否则,出现:


    证明你出错了,缺少mybatis-generator-core-1.3.2.jar文件,请下载放在当前目录下面

    喜欢的点个赞,不喜欢的勿喷!评论区大神们评论区多多指教,咱们评论区见!!


  • 相关阅读:
    android29
    android28
    android27
    android26
    Dynamics CRM2011 MspInstallAction failed when installing an Update Rollup
    Dynamics CRM Import Solution Attribute Display Name description is null or empty
    The service cannot be activated because it does not support ASP.NET compatibility
    IIS部署WCF报 无法读取配置节“protocolMapping”,因为它缺少节声明
    Unable to access the IIS metabase.You do not have sufficient privilege
    LM算法与非线性最小二乘问题
  • 原文地址:https://www.cnblogs.com/a1111/p/12816331.html
Copyright © 2011-2022 走看看