微服务 教程
1085个小节阅读:196.1k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
MyBatis Generator(MBG)是MyBatis官方提供的代码生成器。它可以根据数据库的表结构自动生成POJO类、持久层接口与映射文件,极大减少了代码的编写量,提高开发效率。
MBG可以作为项目引入使用,也可以作为Maven插件使用,其中作为Maven插件使用更加方便快捷。
准备数据库表
在pom文件中配置MBG插件
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<!-- MBG配置文件位置 -->
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<!-- 运行显示详情 -->
<verbose>true</verbose>
<!-- 允许覆盖文件 -->
<overwrite>true</overwrite>
</configuration>
</plugin>
</plugins>
</build>
编写MBG配置文件
x
<generatorConfiguration>
<!-- jdbc的jar包位置,插件需要连接数据库 -->
<classPathEntry location="F:\repository\mysql\mysql-connector-java\8.0.26\mysql-connector-java-8.0.26.jar"/>
<context id="default" targetRuntime="MyBatis3">
<!-- 是否去除自动生成的注释-->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库连接参数-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis"
userId="root"
password="root"></jdbcConnection>
<!-- 类型处理器,在数据库类型和java类型之间的转换控制-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- targetProject:JAVA类路径 targetProject:生成的POJO类的包-->
<javaModelGenerator targetProject="src/main/java" targetPackage="com.itbaizhan.pojo">
<!-- 是否生成子包 -->
<property name="enableSubPackages" value="false"/>
<!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- targetProject:配置文件路径 targetPackage:生成映射文件的位置 -->
<sqlMapGenerator targetProject="src/main/resources" targetPackage="com.itbaizhan.mapper">
<!-- 是否生成子包 -->
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- targetPackage:JAVA类路径 targetProject:生成的持久层接口包 -->
<javaClientGenerator targetProject="src/main/java" targetPackage="com.itbaizhan.mapper" type="XMLMAPPER">
<!-- 是否生成子包 -->
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
<!-- 数据库表,表名不要和其他库中的表名一样 -->
<table tableName="product"></table>
</context>
</generatorConfiguration>
运行插件,自动生成POJO,持久层接口,映射文件:
Product.java:POJO类
ProductMapper.java:持久层接口
ProductMapper.xml:映射文件
ProductExample.java:查询扩展类,该类可以构造复杂的查询条件。
- Criterion:代表一个字段。
- GeneratedCriteria:抽象类,生成查询条件的工具。
- Criteria:GeneratedCriteria的子类,生成查询条件的工具。
在配置文件中注册生成的映射文件
xxxxxxxxxx
<mappers>
<mapper class="com.itbaizhan.mapper.ProductMapper"> </mapper>
</mappers>
1. 使用MyBaits Generator生成的文件不包括:
A POJO类
B 持久层接口类
C 映射文件
D 核心配置文件
2.MyBaits Generator生成的文件中,哪个类可以构造复杂查询条件?
A POJO类
B 持久层接口类
C Example类
D 映射文件
1=>D 2=>C