欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

idea实现自动生成mybatis代码

程序员文章站 2024-01-23 10:48:58
...

一、

 

在build的plugins中添加:

<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
        <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
        <overwrite>false</overwrite>
        <verbose>true</verbose>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
    </dependencies>
</plugin>
 
 

二、

src/main/resources下新建generatorConfig.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">

<!--使用之前无需新建po mapper 和resources下的mapper包-->


<generatorConfiguration>

    <!-- 引入mysql-connector-java-5.1.30.jar位置 (使用maven无需配置)-->
    <!--<classPathEntry location="E:/maven/repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar" />-->


    <!-- 是否去除自动生成的注释 true:是 : false:否 如果不希望实体类生成Example查询有关的内容则把targetRuntime设置成MyBatis3Simple,默认为MyBatis3-->
    <context id="DB2Tables" targetRuntime="MyBatis3Simple" >
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!-- 数据库连接 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/learn?useUnicode=true&amp;characterEncoding=UTF-8"
                        userId="root" password="">
        </jdbcConnection>

        <!--
              默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
             true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal
        -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!--
         生成model实体类模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径
      也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下
     -->

        <!--注意这个格式-->
        <javaModelGenerator targetPackage="top.codingma.shirodemo.po"
                            targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <!-- 从数据库返回的值被清理前后的空格  -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--对应的mapper.xml文件  -->
        <sqlMapGenerator targetPackage="mapper"
                         targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!-- 对应的Mapper接口类文件 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="top.codingma.shirodemo.mapper"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 生成那些表,tableName对应数据库表,domainObjectName对应实体类名 -->
        <table tableName="user" domainObjectName="User" enableCountByExample="true" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
            <!--若数据库中某字段为text类型,则创建时会把该类分开,通过加这行来使其不分开,context为数据库中字段名称-->
            <columnOverride column="context" javaType="java.lang.String" jdbcType="VARCHAR" />
            <columnOverride column="uml_url" javaType="java.lang.String" jdbcType="VARCHAR" />
            <columnOverride column="advantage" javaType="java.lang.String" jdbcType="VARCHAR" />
            <columnOverride column="disadvantage" javaType="java.lang.String" jdbcType="VARCHAR" />
            <columnOverride column="scence" javaType="java.lang.String" jdbcType="VARCHAR" />
        </table>

    </context>
</generatorConfiguration>

三、生成代码

MyBatis Generator生成代码的运行方式:命令行、使用Ant、使用Maven、Java编码。本文采用Maven插件mybatis-generator-maven-plugin来运行MyBatis Generator,用的是命令行的方式。

在Intellij中如下配置命令行运行:

idea实现自动生成mybatis代码

 

启动后,不报错即可产生相应的Model类和Mapper文件:

 

 

注:更详细的generatorConfig.xml文件配置可见https://blog.csdn.net/zsq520520/article/details/50948926