美文网首页
Mybatis 逆向工程

Mybatis 逆向工程

作者: 林皮皮s | 来源:发表于2018-11-12 15:58 被阅读0次

    前言 | 使用官方网站的Mapper自动生成工具mybatis-generator-core-1.3.2来生成po类和Mapper映射文件

    一、什么是逆向工程

    简单点说,就是根据数据库表,生成对应的po类,配置文件(mapper.xml),接口方法(mapper.java),注意这里只生成单表增删改查方法,多对多关联的接口和配置要自己在配置文件添加。
    企业中,逆向工程是个很常用的工具,Mybatis官方提供了逆向工程,可以针对单表自动生成mybatis代码,比我们手动创建映射文件的配置信息方便很多。

    二、 导入逆向工程

    github下载逆向工程 逆向工程,将工程导入到eclipse

    目录结构

    三、配置文件详解(重点)

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
      PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
      "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    
    <generatorConfiguration>
        <!-- context元素用于指定生成一组对象的环境。targetRuntime:此属性用于指定生成的代码的运行时环境。MyBatis3:*这是默认值*-->
        <context id="testTables" targetRuntime="MyBatis3">
            <commentGenerator>
                <!-- 是否去除自动生成的注释 true:是 : false:否 -->
                <property name="suppressAllComments" value="true" />
            </commentGenerator>
            
            <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/ebuyshop_?allowMultiQueries=true" userId="root"
                password=""root"">
            </jdbcConnection>
            
            <!-- 如使用oracle请参考如下 -->
            <!-- <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
                connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl" 
                userId="root"
                password="root">
            </jdbcConnection> -->
    
            <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 
                NUMERIC 类型解析为java.math.BigDecimal -->
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false" />
            </javaTypeResolver>
    
            <!-- targetProject:生成PO类的位置 -->
            <javaModelGenerator targetPackage="org.lin.entity"
                targetProject=".\src">
                <!-- enableSubPackages:是否让schema作为包的后缀 -->
                <property name="enableSubPackages" value="false" />
                <!-- 从数据库返回的值被清理前后的空格 -->
                <property name="trimStrings" value="true" />
            </javaModelGenerator>
            
            <!-- targetProject:mapper映射文件生成的位置 -->
            <sqlMapGenerator targetPackage="org.lin.mapper" 
                targetProject=".\src">
                <!-- enableSubPackages:是否让schema作为包的后缀 -->
                <property name="enableSubPackages" value="false" />
            </sqlMapGenerator>
            
            <!-- targetPackage:mapper接口生成的位置 -->
            <javaClientGenerator type="XMLMAPPER"
                targetPackage="org.lin.mapper" 
                targetProject=".\src">
                <!-- enableSubPackages:是否让schema作为包的后缀 -->
                <property name="enableSubPackages" value="false" />
            </javaClientGenerator>
            
            <!-- 指定数据库表 -->
            <table tableName="category" schema="" enableCountByExample="false"
                    enableDeleteByExample="false" enableUpdateByExample="false"
                    enableSelectByExample="false" selectByExampleQueryId="false"></table>
                    
            <table tableName="productbuy" schema="" enableCountByExample="false"
                    enableDeleteByExample="false" enableUpdateByExample="false"
                    enableSelectByExample="false" selectByExampleQueryId="false"></table>
                    
            <table tableName="productsale" schema="" enableCountByExample="false"
                    enableDeleteByExample="false" enableUpdateByExample="false"
                    enableSelectByExample="false" selectByExampleQueryId="false"></table>
                    
            <!-- 有些表的字段需要指定java类型
             <table schema="" tableName="">
                <columnOverride column="" javaType="" />
            </table> -->
        </context>
    </generatorConfiguration>
    
    • 注意要修改的地方:
      1)、数据库连接池的内容(端口号,数据库名称,用户名,密码)
      2)、修改要生成的数据库表
      3)、pojo文件所在包路径
      4)、Mapper所在的包路径

    修改完成直接运行GeneratorSqlmap.java文件里面的main方法即可。

    相关文章

      网友评论

          本文标题:Mybatis 逆向工程

          本文链接:https://www.haomeiwen.com/subject/okyqfqtx.html