0
点赞
收藏
分享

微信扫一扫

Mybatis逆向工程


目录

  • ​​使用工具​​
  • ​​使用方法​​
  • ​​准备步骤​​
  • ​​项目配置​​
  • ​​代码示例​​
  • ​​generator.xml​​
  • ​​generator.xml解析​​
  • ​​数据库代码​​

  • ​​效果展示​​

使用工具

IDEA 2018.2

javaJDK 1.8

mybatis-generator-core-1.3.2.jar

mysql-connector-java-5.1.7-bin.jar
jar包下载链接:​​​https://share.weiyun.com/5BbpFXX​​​ 下载逆向工程:
​​https://github.com/mybatis/generator/releases/tag/mybatis-generator-1.3.2​​

使用方法

  1. 创建简单的java项目
  2. 导入jar包,创建generator配置文件;
  3. 使用java类来执行逆向工程;
  4. 把生成的代码拷贝到项目中。
  5. 在正式项目中使用逆向工程生成的代码。

准备步骤

创建项目

Mybatis逆向工程_Mybatis

Mybatis逆向工程_JavaEE_02

Mybatis逆向工程_JavaEE_03

项目配置

Mybatis逆向工程_xml_04

代码示例

generator.xml

generator.xml解析

targetPackage=“com.gitee.model”

targetPackage=“com.gitee.mapper”
可以更改包路径,来改变映射文件,接口,模型生成的位置,

tableName=“tb_items”
domainObjectName=“Tb_items”
根据数据库的表名的个数添加对应的tableName。


    <?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 id="mysqlTable" targetRuntime="MyBatis3">

        <!-- 1.数据库配置-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/db_test"
                        userId="root"
                        password="123456">
        </jdbcConnection>

        <!-- 2.默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL
             和 NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- 3.模型生成包名-->
        <javaModelGenerator targetPackage="com.gitee.model" targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- 4.mybatis的映射.xml-->
        <sqlMapGenerator targetPackage="com.gitee.mapper"  targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- 5.mybatis 的mapper接口生成的包路径-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.gitee.mapper"  targetProject=".\src">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- 6.配置生成模型 -->
        <table  tableName="tb_items"  domainObjectName="Tb_items"/>
        <table  tableName="tb_orders" domainObjectName="Tb_orders" />
        <table  tableName="tb_user"   domainObjectName="Tb_user"/>
    </context>
</generatorConfiguration>

Main.java

import&nbsp;org.mybatis.generator.api.MyBatisGenerator;
import&nbsp;org.mybatis.generator.config.Configuration;
import&nbsp;org.mybatis.generator.config.xml.ConfigurationParser;
import&nbsp;org.mybatis.generator.internal.DefaultShellCallback;

import&nbsp;java.io.File;
import&nbsp;java.util.ArrayList;
import&nbsp;java.util.List;

public&nbsp;class&nbsp;Main&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;&nbsp;throws&nbsp;Exception{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&lt;String&gt;&nbsp;warnings&nbsp;=&nbsp;new&nbsp;ArrayList&lt;String&gt;();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;overwrite&nbsp;=&nbsp;true;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File&nbsp;configFile&nbsp;=&nbsp;new&nbsp;File(&quot;resources/generator.xml&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ConfigurationParser&nbsp;cp&nbsp;=&nbsp;new&nbsp;ConfigurationParser(warnings);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configuration&nbsp;config&nbsp;=&nbsp;cp.parseConfiguration(configFile);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DefaultShellCallback&nbsp;callback&nbsp;=&nbsp;new&nbsp;DefaultShellCallback(overwrite);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyBatisGenerator&nbsp;myBatisGenerator&nbsp;=&nbsp;new&nbsp;MyBatisGenerator(config,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;callback,&nbsp;warnings);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myBatisGenerator.generate(null);
&nbsp;&nbsp;&nbsp;&nbsp;}

}

数据库代码

CREATE&nbsp;TABLE&nbsp;`tb_items`&nbsp;(
&nbsp;&nbsp;`id`&nbsp;int(11)&nbsp;NOT&nbsp;NULL&nbsp;AUTO_INCREMENT,
&nbsp;&nbsp;`name`&nbsp;varchar(32)&nbsp;DEFAULT&nbsp;NULL,
&nbsp;&nbsp;`price`&nbsp;float(10,1)&nbsp;DEFAULT&nbsp;NULL,
&nbsp;&nbsp;`detail`&nbsp;text,
&nbsp;&nbsp;`pic`&nbsp;varchar(64)&nbsp;DEFAULT&nbsp;NULL,
&nbsp;&nbsp;`createtime`&nbsp;datetime&nbsp;DEFAULT&nbsp;NULL,
&nbsp;&nbsp;PRIMARY&nbsp;KEY&nbsp;(`id`)
)&nbsp;ENGINE=InnoDB&nbsp;AUTO_INCREMENT=5&nbsp;DEFAULT&nbsp;CHARSET=utf8;

CREATE&nbsp;TABLE&nbsp;`tb_orders`&nbsp;(
&nbsp; &nbsp;`id`&nbsp;int(11)&nbsp;NOT&nbsp;NULL&nbsp;AUTO_INCREMENT,
&nbsp; &nbsp;`user_id`&nbsp;int(11)&nbsp;NOT&nbsp;NULL,
&nbsp; &nbsp;`number`&nbsp;varchar(32)&nbsp;NOT&nbsp;NULL,
&nbsp;&nbsp;`createtime`&nbsp;datetime&nbsp;NOT&nbsp;NULL,
&nbsp;&nbsp;`note`&nbsp;varchar(100)&nbsp;DEFAULT&nbsp;NULL&nbsp;,
&nbsp;&nbsp;PRIMARY&nbsp;KEY&nbsp;(`id`)
)&nbsp;ENGINE=InnoDB&nbsp;AUTO_INCREMENT=6&nbsp;DEFAULT&nbsp;CHARSET=utf8;

CREATE&nbsp;TABLE&nbsp;`tb_user`&nbsp;(
&nbsp;&nbsp;`id`&nbsp;int(11)&nbsp;NOT&nbsp;NULL&nbsp;AUTO_INCREMENT,
&nbsp;&nbsp;`username`&nbsp;varchar(50)&nbsp;NOT&nbsp;NULL,
&nbsp;&nbsp;`password`&nbsp;varchar(50)&nbsp;NOT&nbsp;NULL,
&nbsp;&nbsp;`type`&nbsp;varchar(50)&nbsp;NOT&nbsp;NULL,
&nbsp;&nbsp;PRIMARY&nbsp;KEY&nbsp;(`id`)
)&nbsp;ENGINE=InnoDB&nbsp;AUTO_INCREMENT=2&nbsp;DEFAULT&nbsp;CHARSET=utf8;

效果展示

运行 Main 方法得到以下效果:

Mybatis逆向工程_Mybatis_05

举报

相关推荐

0 条评论