5

本篇文章讲解的Mybatis generator在Spring Boot上的实现

因为在一些小型企业,Mybatis相比Hibernate越来越流行,所以我觉得很有必要写一篇更加简单易懂的文章,来教会大家如何在Spring Boot上整合Mybatis并使用它的逆向工程

前提准备:
使用的工具:JDK1.8、IntelliJ IDEA、Mysql
首先:我们来看一下基本的目录结构:

clipboard.png

数据库创建的表结构:

clipboard.png

maven依赖的包与插件(只贴出Mybatis相关包):

clipboard.png

maven插件依赖:

clipboard.png

application.properties文件配置:

clipboard.png

generatorConfig.xml(逆向工程配置文件,如果使用maven插件启动,请保持文件名一致)

<?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="DB2Tables" targetRuntime="MyBatis3">
        <!--去掉注释-->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--需要配置数据库连接-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/SSM?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false"
                        userId=    <!--填写自己的-->
                        password=   <!--同上--> 
                        >
        </jdbcConnection>

        <javaTypeResolver >
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!--指定javaBean生成的位置 javaBean生成的位置-->
        <javaModelGenerator targetPackage="cn.lxt.bean" targetProject="./src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!--sql映射文件生成的位置-->
        <sqlMapGenerator targetPackage="mapper"  targetProject="./src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!--指定dao接口生成的位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="cn.lxt.dao"  targetProject="./src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!--table是指定每个表的生成策略-->
        <table tableName="user" domainObjectName="User"></table>

    </context>
</generatorConfiguration>

以上代码以及配置将准备工作已完成
下面教大家如何使用IDEA启动maven的插件

clipboard.png

启动Edit Configuartions,在跳出界面中进行如下配置,-e更加方面我们阅读报错的原因

clipboard.png

设置插件完毕之后,就可以启动插件了

clipboard.png

运行之后,如果成功便会在指定位置(generatorConfig.xml中可以配置,具体看注释)生成响应的POJO类,dao接口,和mapper的.xml数据库文件.

clipboard.png

当然如果你的电脑上许许多多的问题(日常)导致无法使用maven插件,可以在src/main/java文件夹下创建一个test类,写下如下代码:
注意new file("")中写下自己的逆向配置文件路径!

public class GeneratorTest {
    public static void main(String[] args)throws Exception {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("/Users/apple/Documents/Spring-Boot/src/main/resources/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);
    }
}

然后单独运行这个类也能自动生成代码!
以上便是Mybatis基于Spring Boot的逆向工程实现
谢谢关注~记得点个赞再走哦


大叔一枝花
610 声望56 粉丝

Talk is cheap,show me the code