1、MyBatis Generator代码生成
1、概述
MyBatis Generator 作为一个基于 MyBatis 的独立工具,它可以通过简单的配置去帮我们生成数据表所对应的 PO、DAO、XML 等文件,减去我们手动去生成这些文件的时间,有效提高开发效率
2、环境集成
使用idea打开项目:mybatis-gen
然后修改代码生成的核心配置文件:mybatis-generator.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>
<!--导入mysql的驱动-->
<classPathEntry
location="D:\respository_zzyl\mysql\mysql-connector-java\8.0.19/mysql-connector-java-8.0.19.jar"/>
<!-- context 是逆向工程的主要配置信息 -->
<!-- id:起个名字 -->
<!-- targetRuntime:设置生成的文件适用于那个 mybatis 版本 -->
<context id="default" targetRuntime="MyBatis3">
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
<!-- 批量插入插件 -->
<plugin type="com.itfsw.mybatis.generator.plugins.BatchInsertPlugin"/>
<!-- 去掉生成出来的代码的注解 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
<property name="suppressDate" value="true"/>
</commentGenerator>
<!--jdbc的数据库连接-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://192.168.200.146:3306/zhyl-auth"
userId="root"
password="heima123"/>
<!--非必须,类型处理器,在数据库类型和java类型之间的转换控制-->
<javaTypeResolver>
<!-- 默认情况下数据库中的 decimal,bigInt 在 Java 对应是 sql 下的 BigDecimal 类 -->
<!-- 不是 double 和 long 类型 -->
<!-- 使用常用的基本类型代替 sql 包下的引用类型 -->
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- targetPackage:生成的实体类所在的包 -->
<!-- targetProject:生成的实体类所在的硬盘位置 -->
<javaModelGenerator targetPackage="com.zzyl.entity"
targetProject="src/main/java">
<!-- 是否允许子包
<property name="enableSubPackages" value="false"/>-->
<!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 -->
<sqlMapGenerator targetPackage="mapper"
targetProject="src/main/resources">
<!-- 针对数据库的一个配置,是否把 schema 作为字包名
<property name="enableSubPackages" value="false"/>-->
</sqlMapGenerator>
<!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 XMLMAPPER:生成XML方式,ANNOTATEDMAPPER:生成注解方式-->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.zzyl.mapper" targetProject="src/main/java">
<!-- 针对 oracle 数据库的一个配置,是否把 schema 作为字包名
<property name="enableSubPackages" value="false"/>-->
</javaClientGenerator>
<table tableName="device"
domainObjectName="Device" >
<generatedKey column="id" sqlStatement="Mysql" identity="true"/>
<columnOverride column="create_time" javaType="java.time.LocalDateTime"/>
<columnOverride column="update_time" javaType="java.time.LocalDateTime"/>
</table>
</context>
</generatorConfiguration>
-
配置mysql的驱动位置,找到maven本地仓库中的mysql驱动
-
配置数据库链接
-
设置实体类、mapper、mapper映射文件的目录
-
table标签可以设置对应数据库中的表,可配置多个
3、代码生成
目前的集成方式使用的maven插件来完成的,如果以上配置都已经完成了,可以在maven的插件中启动代码生成
注意:生成后的mapper代码,内容较多,可以根据自己的需要留下必要的代码内容