MyBaits笔记3--mybatis-generator自动生成代码插件使用详解
mybatis-generator是一款在使用mybatis框架时,自动生成model,dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间,今天自己研究了一下,也分享一下使用心得供大家简单使用。本人使用的是maven工程,首先需要在pom.xml文件添加mybatis-generator依赖包以及插件,配置如下:第一步:在pom.xml文件dependencies中添加myba
·
mybatis-generator是一款在使用mybatis框架时,自动生成model,dao和mapper的工具,很大程度上减少了业务开发人员的手动编码时间,今天自己研究了一下,也分享一下使用心得供大家简单使用。
本人使用的是maven工程,首先需要在pom.xml文件添加mybatis-generator依赖包以及插件,配置如下:
第一步:在pom.xml文件dependencies中添加mybatis-generator依赖:
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
</dependency>
第二步:在pom.xml文件build的plugins中添加加载的配置文件路劲:
需要特别注意的是:在IDEA开发环境下,这个文件需要放置在resources的根目录下面
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<!-- mybatis.generator需要依赖的数据库驱动-->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>
<!-- mybatis用于生成代码的配置文件路径-->
<configuration>
<configurationFile>src/main/resources/config/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
第三步:上面就是pom.xml中需要添加的配置,接下来就是generatorConfig.xml文件的简单介绍
- 注意修改配置文件中 pojo类的包
- 注意修改配置文件中 mapper的包以及mapper配置文件包(一般放在一起)
- 注意修改配置文件中 需要逆向工程表的名字
- 如果需要pojo类实现Serializable接口,解开注释!
- 请在Springboot 配置文件中增加Resources 资源拷贝插件,否则maven打包时,不会将src/main/java/下的 mapper文件打包到classpath下,后续程序运行会报错
- 如果dtd 文件不存在,请自行导入!
配置文件: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>
<!-- JDBC驱动文件-->
<!-- <classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />-->
<context id="DB2Tables" targetRuntime="MyBatis3">
<!-- 生成的Java文件的编码-->
<property name="javaFileEncoding" value="UTF-8"/>
<!-- JavaBean 实现 序列化 接口 -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true 时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal -->
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="false"/>
</commentGenerator>
<!--数据库链接信息:驱动类,URL,用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/myTest?useUnicode=true"
userId="root"
password="gq861204.">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成实体模型的包名和位置-->
<javaModelGenerator targetPackage="com.example.entity"
targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成mapper.xml映射文件的包名和位置-->
<sqlMapGenerator targetPackage="mapping"
targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成mapper.java接口的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="role" domainObjectName="Role" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>
在配置文件的table元素中 tableName就是数据库的表名
第四步:根据数据库表反向生成测试
更多推荐




所有评论(0)