MyBatis逆向工程

简单的说,MyBatis逆向工程就是给个数据库,就会自动生成操作数据库的一堆文件

MyBatis逆向工程

1、所需依赖

<dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.6</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
 </dependency>

2、创建配置文件generatorConfig.xml

1、jdbcConnection 配置数据库连接信息
2、javaModelGenerator 配置javaBean实体类的生成策略
3、sqlMapGenerator 配置SQL映射文件的生成策略
4、javaClient 配置Mapper接口的生成策略
5、table 配置目标数据表
(tableName:表名;domainObjectName:将来JavaBean实体类名)

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

        <!--1、jdbcConnection 配置数据库连接信息-->
        <jdbcConnection
                driverClass="com.mysql.cj.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=UTF-8"
                userId="root"
                password="root"
        ></jdbcConnection>

        <!--2、javaModelGenerator 配置javaBean实体类的生成策略-->
        <javaModelGenerator targetPackage="entity" targetProject="./src/main/java"></javaModelGenerator>

        <!--3、sqlMapGenerator 配置SQL映射文件的生成策略-->
        <sqlMapGenerator targetPackage="repository" targetProject="./src/main/java"></sqlMapGenerator>

        <!--4、javaClient 配置Mapper接口的生成策略-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="repository" targetProject="./src/main/java"></javaClientGenerator>

        <!--5、table 配置目标数据表
        (tableName:表名;domainObjectName:将来JavaBean实体类名)-->
        <table tableName="sheet" domainObjectName="User"></table>
    </context>
</generatorConfiguration>

创建 Generator 启动类

public class Main {
    public static void main(String[] args) throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {

        List<String> warings = new ArrayList<String>();

        boolean overwrite = true;//重写

        String genCig = "/generatorConfig.xml";    //对于配置文件来说,resource文件即为根目录

        //运用面向对象的思想,用“configFile”来代替“generatorConfig.xml”
        File configFile = new File(Main.class.getResource(genCig).getFile());

        ConfigurationParser configurationParser = new ConfigurationParser(warings);//这个构造函数需要传一个集合进来
        Configuration configuration = null;
        configuration = configurationParser.parseConfiguration(configFile);//通过配置文件创建的一个对象

        DefaultShellCallback callback = new DefaultShellCallback(overwrite);

        MyBatisGenerator myBatisGenerator = null;
        myBatisGenerator = new MyBatisGenerator(configuration,callback,warings) ;

        myBatisGenerator.generate(null);
    }
}

之后就点击运行,实体类及其配置文件都会自动生成。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容