美文网首页
使用IDEA +Mybatis Generator生成业务代码

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

作者: sT丶 | 来源:发表于2017-08-03 15:07 被阅读0次

    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

    相关文章

      网友评论

          本文标题:使用IDEA +Mybatis Generator生成业务代码

          本文链接:https://www.haomeiwen.com/subject/whjplxtx.html