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&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中如下配置命令行运行:
启动后,不报错即可产生相应的Model类和Mapper文件:
注:更详细的generatorConfig.xml文件配置可见https://blog.csdn.net/zsq520520/article/details/50948926