Why
生成pojo,mapper.java.mapper.xml文件(包含基础增删改查),提交工作效率,解决繁琐的消逝
使用方法
1. pom.xml导入插件
1 2 3 4 5 6 7 8 9 10 11
| <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.0</version> </dependency>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <configuration> <configurationFile>src/main/resources/generatorConfig.xml </configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</version> </dependency> </dependencies> </plugin>
|
1. 在resources目录下创建generatorConfig.xml文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| <?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> <properties resource="datasource.properties"/>
<context id="default" targetRuntime="mybatis3simple" > <commentGenerator> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="false"/> <property name="javaFileEncoding" value="utf-8"/> <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/> <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/> </commentGenerator> <jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.connectionURL}" userId="${jdbc.userId}" password="${jdbc.password}"> </jdbcConnection>
<javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver>
<javaModelGenerator targetPackage="com.sx.sc.pojo" targetProject="./src/main/java"> <property name="enableSubPackages" value="false"/> <property name="constructorBased" value="false"/> <property name="trimStrings" value="true"/> <property name="immutable" value="false"/> </javaModelGenerator>
<sqlMapGenerator targetPackage="mappers" targetProject="./src/main/resources"> <property name="enableSubPackages" value="false"/> </sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.sx.sc.mapper" targetProject="./src/main/java"> <property name="enableSubPackages" value="false"/> </javaClientGenerator>
<table tableName="vip" domainObjectName="Vip"> <property name="useActualColumnNames" value="false"/> </table> </context> </generatorConfiguration>
|
3.生成datasource.properties文件
1 2 3 4 5
| <!-- 8.0以上版本连接方法 --> jdbc.driverClass=com.mysql.cj.jdbc.Driver jdbc.connectionURL=jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC jdbc.userId=root jdbc.password=123456
|
4.. 生成文件
5. Mybatis Dynamic SQL版本使用方法
MyBatis Dynamic SQL 是生成动态 SQL 语句的框架,可把它看作是一个类型安全的 SQL 模板库,另外还支持 MyBatis3 和 Spring JDBC 模板。
该库将生成格式化为由 MyBatis 或 Spring 使用的完整 DELETE,INSERT,SELECT 和 UPDATE 语句。
最常见的用例是生成语句和一组匹配的参数,这些参数可以被 MyBatis 直接使用。该库还将生成与 Spring JDBC 模板兼容的语句和参数对象。
该库通过实现一个类似 SQL 的 DSL 来创建一个对象,该对象包含完整的 SQL 语句以及该语句所需的任何参数。SQL 语句对象可以被 MyBatis 直接用作映射器方法的参数。
该模式下不再生成 XML,不再生成 Example 类。文档里也推荐:join 操作要用到的 resultMap 应该是 XML 文件中的唯一元素。
暂无-学习中
接口继承
在数据库更改字段后,如果使用MybatisGenerator生成文件,mapper文件会被覆盖,写过的方法需要重新编写。
解决方法
- 在mapper中建立一个extend包,建立xxMapperExtends接口,在这个接口内书写自己的方法,最后xxMapper文件继承这个接口就可以实现分离,如:
- resource目录结构如下
- mybatis设置中的配置路径
mybatis.mapper-locations=classpath:mybatis/*/*.xml