使用IDEA +Mybatis Generator生成业务代码

2017-08-03  本文已影响0人  sT丶

1. 什么是Mybatis Generator

Mybatis-generator(MBG)是Mybatis官网发布的一个用来生成代码的一个工具包,他可以对一些简单的CRUD应用进行快速的生成POJO对象和对应的Mapper接口文件及XML配置文件,大大的减少了手写的误差和工作量。

官网文档:http://www.mybatis.org/generator/index.html

2. 如何使用

可以直接下载jar包,然后配置生成,也可以用maven引入的方式,在IDE中使用,下面我们选择用Maven方式导入,然后在IDEA中配置使用。

3. 开始配置

1.首先需要在pom.xml中配置相关插件
<!--MG的插件-->
<plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.3</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java
            配置这个依赖主要是为了等下在配置MG的时候可以不用配置classPathEntry这样的一个属性,避免
            代码的耦合度太高 -->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.38</version>
                    </dependency>
                </dependencies>
            </plugin>
2.在项目的resources下增加generatorConfig.xml文件,也可以再增加一个generatorConfig.properties的配置文件,这里我们选择两个文件都用。

首先是generatorConfig.properties,这里可以配置数据库的连接

jdbc_driver = com.mysql.jdbc.Driver
jdbc_url = jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8
jdbc_user = root
jdbc_password = 123456

然后是xml文件的配置,这个配置比较长,具体配置的含义,可以查看官网文档,这里只写出必须的一些配置。

<?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>
 <!-- 读取了配置文件 -->
    <properties resource="generatorConfig.properties"/>
    <!-- 一个数据库一个context -->
    <context id="infoGuardian">
        <!-- 注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/><!-- 是否取消注释 -->
            <property name="suppressDate" value="false"/> <!-- 是否生成注释代时间戳-->
        </commentGenerator>

        <!-- jdbc连接 -->
        <jdbcConnection driverClass="${jdbc_driver}"
                        connectionURL="${jdbc_url}" userId="${jdbc_user}"
                        password="${jdbc_password}"/>

        <!-- 类型转换 -->
        <javaTypeResolver>
            <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- 生成实体类地址  targetPackage实体类的包名 -->
        <javaModelGenerator targetPackage="com.web.control.model"
                            targetProject="src/main/java">
            <!-- 是否在当前路径下新加一层schema-->
            <property name="enableSubPackages" value="false"/>
            <!-- 是否针对string类型的字段在set的时候进行trim调用 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- 生成mapxml文件 -->
        <sqlMapGenerator targetPackage="com.web.control.dao"
                         targetProject="src/main/java">
            <!-- 是否在当前路径下新加一层schema -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- 生成mapxml对应client,也就是接口dao -->
        <javaClientGenerator targetPackage="com.web.control.dao"
                             targetProject="src/main/java" type="XMLMAPPER">
            <!-- 是否在当前路径下新加一层schema-->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>

      <!-- 配置表信息 -->
        <table schema="" tableName="base_config"
               domainObjectName="" enableCountByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               enableUpdateByExample="false">
            <!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample
                是否生成 example类   -->
        </table>
    </context>
</generatorConfiguration>

4. 配置插件运行

  1. 在idea中添加一个generator插件运行选项,首先,点击run→Edit Configurations...如下图。
image.png
  1. 然后选择+增加一个Maven插件
image.png
  1. 最后,配置如图
    Name :generator,Command line:mybatis-generator:generate -e
image.png

4.最后,点击Run-Run ‘generator’

image.png
上一篇下一篇

猜你喜欢

热点阅读