0%

MyBatis逆向工程

根据数据表逆向生成JavaBean,xxxMapper,xxxMapper.xml等

官方文档

导入依赖

1
<dependency>
2
    <groupId>org.mybatis</groupId>
3
    <artifactId>mybatis</artifactId>
4
    <version>3.5.3</version>
5
</dependency>
6
<dependency>
7
    <groupId>org.mybatis.generator</groupId>
8
    <artifactId>mybatis-generator</artifactId>
9
    <version>1.4.0</version>
10
</dependency>
11
<dependency>
12
    <groupId>org.mybatis.generator</groupId>
13
    <artifactId>mybatis-generator-maven-plugin</artifactId>
14
    <version>1.4.0</version>
15
</dependency>

环境准备

配置文件

将配置文件直接放在项目根目录下

1
<!DOCTYPE generatorConfiguration PUBLIC
2
        "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
3
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
4
<generatorConfiguration>
5
    <context id="simple" targetRuntime="MyBatis3Simple">
6
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
7
                        connectionURL="jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC"
8
                        userId="root"
9
                        password="root"/>
10
        <javaModelGenerator targetPackage="com.czw.bean" targetProject="src/main/java"/>
11
        <sqlMapGenerator targetPackage="com.czw.mapper" targetProject="src/main/resources"/>
12
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.czw.mapper" targetProject="src/main/java"/>
13
        <table tableName="student" domainObjectName="Student">
14
        </table>
15
    </context>
16
</generatorConfiguration>

context:targetRuntime指定版本,加Simple就是简单版,不加就是复杂版

jdbcConnection:数据库连接配置

javaModelGenerator:指定生成的JavaBean所在的包

sqlMapGenerator:指定生成的sql映射文件所在的包

javaClientGenerator:指定接口所在的包

table:指定数据库的表名及对应的JavaBean对象名,可以用子指定字段名对应属性名

Java方法生成

随便选一个测试类,运行这段代码,将xml文件路径配好

1
public void testMBG() throws Exception{
2
    List<String> warnings = new ArrayList<String>();
3
    boolean overwrite = true;
4
    File configFile = new File("generatorConfig.xml");
5
    ConfigurationParser cp = new ConfigurationParser(warnings);
6
    Configuration config = cp.parseConfiguration(configFile);
7
    DefaultShellCallback callback = new DefaultShellCallback(overwrite);
8
    MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
9
    myBatisGenerator.generate(null);
10
}

运行结果

自动生成了一个Student对象,StudentMapper接口,StudentMapper.xml文件,包含了一些简单方法

复杂版

多了一个StudentExample对象,里面包含很多方法,以及三个类,其中两个又包含很多方法和属性。

多了很多复杂方法

真复杂。。。

总结

头发-1