SpringBoot+mybatis逆向工程

使用开发工具:idea

一、创建springBoot工程后,在pom.xml文件中添加如下代码,以下代码是连接数据库的一些jar包和生成的工具

<!--1.myBatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.2</version>
</dependency>
<!--2.连接数据库 驱动-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.41</version>
</dependency>
<!--3.数据源 连接池-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.0</version>
</dependency>

<!--mapper-->
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>1.2.4</version>
</dependency>
<!--pagehelper分页的-->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.3</version>
</dependency>

<!--逆向工程所需要的-->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.2</version>
    <scope>compile</scope>
    <optional>true</optional>
</dependency>

二、创建GeneratorDisplay类

这个类运行后直接生成xxxxxmapper.xml

注意,这个类中需要修改 File configFile = new File("src/main/resources/config/generatorConfig.xml");中的这个xml所在的实际位置。

public class GeneratorDisplay {

    public void generator() throws Exception{

        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        //指定 逆向工程配置文件
        File configFile = new File("src/main/resources/config/generatorConfig.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(configFile);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
                callback, warnings);
        myBatisGenerator.generate(null);

    }

    public static void main(String[] args) throws Exception {
        try {
            GeneratorDisplay generatorSqlmap = new GeneratorDisplay();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

三、创建MyMapper接口

import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

/**
 * 继承自己的MyMapper
 *
 * @author liuzh
 * @since 2015-09-06 21:53
 */
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
    //TODO
    //FIXME 特别注意,该接口不能被扫描到,否则会出错
}

四、创建第三点提到的generatorConfig.xml文件

这个文件一般放在resources/config下面

<?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="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <!--配置插件位置 MyMapper-->
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers" value="com.hdlhd.mapputil.MyMapper"/> <!-- 这里指向第三点创建的MyMapper -->
        </plugin>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://数据库地址"
                        userId="数据库名"
                        password="数据库密码">
        </jdbcConnection>

        <!-- 对于生成的pojo所在包 自己先创建-->
        <javaModelGenerator targetPackage="com.hdlhd.driver.pojo" targetProject="src/main/java"/>

        <!-- 对于生成的mapper所在目录  自己先创建-->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>

        <!-- 配置mapper对应的java映射 自己先创建-->
        <javaClientGenerator targetPackage="com.hdlhd.driver.mapper" targetProject="src/main/java"
                             type="XMLMAPPER"/>


        <table tableName="%"></table>
        <!-- %号代表所有的表,可以根据实际需求改为自己要生成的表的名字 -->

    </context>
</generatorConfiguration>

五、此时,以上配置完成后,即可运行第二点中的GeneratorDisplay类中的main()即可生成相应的实体类

猜你喜欢

转载自blog.csdn.net/u011213903/article/details/83587212
今日推荐