Mybatis 提供了一个逆向工程工具,该工具可以根据数据表自动生成针对单表的 po 类、mapper 映射文件和 mapper 接口。大大缩减了开发时间,可以让开发人员将更多的精力放在繁杂的业务逻辑上。
之所以强调单表两个字,是因为 MyBatis 逆向工程生成的 Mapper 中的操作都是针对单表的。在大型项目中,很少有复杂的多表关联查询,所以该工具作用还是很大的。
在前面的示例程序中《Mybatis简单示例程序》中,其实已经使用了MyBatis的逆向工程。
1、集成Mybatis逆向工程插件
在项目的pom.xml中,引入maven的依赖插件,如下:
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
<configurationFile>${project.basedir}/src/main/resources/generatorConfig-mysql.xml
</configurationFile>
</configuration>
</plugin>
2、编写插件的配置文件
generatorConfig-mysql.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>
<classPathEntry location="/Users/kame/Documents/works/repository/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16.jar"/>
<context id="prod" targetRuntime="MyBatis3" defaultModelType="flat">
<!-- RowBounds pagination -->
<plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"/>
<plugin type="org.mybatis.generator.plugins.CaseInsensitiveLikePlugin"/>
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- jdbc连接 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/demo?useSSL=false" userId="root"
password="12345678"/> <!--12345678-->
<javaTypeResolver>
<property name="forceBigDecimals" value="true"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="net.jhelp.mybatis.learning.orm.entity" targetProject="src/main/java">
<!-- 是否针对string类型的字段在set的时候进行trim调用 -->
<property name="trimStrings" value="true"/>
<property name="enableSubPackages" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="mapperXml" targetProject="src/main/resources"/>
<javaClientGenerator targetPackage="net.jhelp.mybatis.learning.orm.mapper"
targetProject="src/main/java" type="XMLMAPPER">
</javaClientGenerator>
<!--<table tableName="subject_article" enableCountByExample="false"-->
<!--enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"-->
<!--selectByExampleQueryId="false"/>-->
<table tableName="person" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>
</context>
</generatorConfiguration>
3、创建表
CREATE TABLE `person` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'PK',
`name` varchar(255) DEFAULT '' COMMENT '名称',
`age` int(10) unsigned DEFAULT '1' COMMENT '年龄',
`school` varchar(255) DEFAULT '' COMMENT '学校',
`province` varchar(255) DEFAULT '' COMMENT '藉惯',
`created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`creator` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '创建人',
`revised_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
`reviser` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '修改人',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='会员表';
4、生成
注意:本人在idea 上装了 mavehelper 插件,可以通过右键的方式来运行maven的。
按照上图的指引,就可以生成mybatis 的实体和 mapper, xml文件。
运行后的结果如下图:
需要上述程序代码的,请关注公众号「技术老男孩」,在手机上阅读所有教程,随时随地都能学习。内含一款搜索神器,免费下载全网书籍和视频。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
本文链接:https://www.jhelp.net/p/3zLQrqpDuSp7uoWa (转载请保留)。
本站推荐
-
549
-
526
-
521
-
511
-
502
文章目录