【SpringBoot】【Mybatis】Mapper4之一键生成Dao层代码
前提
通用Mapper支持Mybatis-3.2.4及以上版本
步骤
- 建表
- 建module
- pom文件
- 改配置
- 一键生成
1. 建表
在数据库,写入需要代码生成的表,例如:
1 CREATE TABLE t_order( 2 `id` BIGINT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 3 `user_id` BIGINT(11) DEFAULT NULL COMMENT '用户id', 4 `product_id` BIGINT(11)DEFAULT NULL COMMENT '产品id', 5 `count` INT(11) DEFAULT NULL COMMENT '数量', 6 `money` DECIMAL(11,0) DEFAULT NULL COMMENT '金额', 7 `status` INT(1) DEFAULT NULL COMMENT '订单状态: 0:创建中; 1:已完结' 8 )ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; 9 SELECT * FROM t_order;
2. 建module
这里的module与业务无关,只是为了生成Dao层代码。子工程名称 mybatis_generator2024 。
3. pom文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <parent> 6 <artifactId>mscloudv5</artifactId> 7 <groupId>com.atguigu.cloud</groupId> 8 <version>1.0-SNAPSHOT</version> 9 </parent> 10 <modelVersion>4.0.0</modelVersion> 11 12 <!--我自己独一份,只是一个普通Maven工程,与boot和cloud无关--> 13 <artifactId>mybatis_generator2024</artifactId> 14 15 <properties> 16 <maven.compiler.source>17</maven.compiler.source> 17 <maven.compiler.target>17</maven.compiler.target> 18 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 19 </properties> 20 21 <dependencies> 22 <!--Mybatis 通用mapper tk单独使用,自己独有+自带版本号--> 23 <dependency> 24 <groupId>org.mybatis</groupId> 25 <artifactId>mybatis</artifactId> 26 <version>3.5.13</version> 27 </dependency> 28 <!-- Mybatis Generator 自己独有+自带版本号--> 29 <dependency> 30 <groupId>org.mybatis.generator</groupId> 31 <artifactId>mybatis-generator-core</artifactId> 32 <version>1.4.1</version> 33 </dependency> 34 <!--通用Mapper--> 35 <dependency> 36 <groupId>tk.mybatis</groupId> 37 <artifactId>mapper</artifactId> 38 </dependency> 39 <!--mysql8.0--> 40 <dependency> 41 <groupId>mysql</groupId> 42 <artifactId>mysql-connector-java</artifactId> 43 </dependency> 44 <!--persistence--> 45 <dependency> 46 <groupId>javax.persistence</groupId> 47 <artifactId>persistence-api</artifactId> 48 </dependency> 49 <!--hutool--> 50 <dependency> 51 <groupId>cn.hutool</groupId> 52 <artifactId>hutool-all</artifactId> 53 </dependency> 54 <!--lombok--> 55 <dependency> 56 <groupId>org.projectlombok</groupId> 57 <artifactId>lombok</artifactId> 58 <optional>true</optional> 59 </dependency> 60 <dependency> 61 <groupId>org.springframework.boot</groupId> 62 <artifactId>spring-boot-starter-test</artifactId> 63 <scope>test</scope> 64 <exclusions> 65 <exclusion> 66 <groupId>org.junit.vintage</groupId> 67 <artifactId>junit-vintage-engine</artifactId> 68 </exclusion> 69 </exclusions> 70 </dependency> 71 </dependencies> 72 73 <build> 74 <resources> 75 <resource> 76 <directory>${basedir}/src/main/java</directory> 77 <includes> 78 <include>**/*.xml</include> 79 </includes> 80 </resource> 81 <resource> 82 <directory>${basedir}/src/main/resources</directory> 83 </resource> 84 </resources> 85 <plugins> 86 <plugin> 87 <groupId>org.springframework.boot</groupId> 88 <artifactId>spring-boot-maven-plugin</artifactId> 89 <configuration> 90 <excludes> 91 <exclude> 92 <groupId>org.projectlombok</groupId> 93 <artifactId>lombok</artifactId> 94 </exclude> 95 </excludes> 96 </configuration> 97 </plugin> 98 <plugin> 99 <groupId>org.mybatis.generator</groupId> 100 <artifactId>mybatis-generator-maven-plugin</artifactId> 101 <version>1.4.2</version> 102 <configuration> 103 <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile> 104 <overwrite>true</overwrite> 105 <verbose>true</verbose> 106 </configuration> 107 <dependencies> 108 <dependency> 109 <groupId>mysql</groupId> 110 <artifactId>mysql-connector-java</artifactId> 111 <version>8.0.33</version> 112 </dependency> 113 <dependency> 114 <groupId>tk.mybatis</groupId> 115 <artifactId>mapper</artifactId> 116 <version>4.2.3</version> 117 </dependency> 118 </dependencies> 119 </plugin> 120 </plugins> 121 </build> 122 </project>
4. 改配置
配置config.properties或config.yaml文件。设置数据库
# mysql5.7 #User表包名 package.name=com.jianqun.cloud jdbc.driverClass = com.mysql.jdbc.Driver jdbc.url= jdbc:mysql://192.168.148.3:3306/db2024?useUnicode=true&characterEncoding=UTF-8&useSSL=false jdbc.user = root jdbc.password = root
2. 配置generatorConfig.xml文件。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 6 <generatorConfiguration> 7 <properties resource="config.properties"/> 8 9 <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"> 10 <property name="beginningDelimiter" value="`"/> 11 <property name="endingDelimiter" value="`"/> 12 13 <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> 14 <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/> 15 <property name="caseSensitive" value="true"/> 16 </plugin> 17 18 <jdbcConnection driverClass="${jdbc.driverClass}" 19 connectionURL="${jdbc.url}" 20 userId="${jdbc.user}" 21 password="${jdbc.password}"> 22 </jdbcConnection> 23 24 <javaModelGenerator targetPackage="${package.name}.entities" targetProject="src/main/java"/> 25 26 <sqlMapGenerator targetPackage="${package.name}.mapper" targetProject="src/main/java"/> 27 28 <javaClientGenerator targetPackage="${package.name}.mapper" targetProject="src/main/java" type="XMLMAPPER"/> 29 30 <table tableName="t_pay" domainObjectName="Pay"> 31 <generatedKey column="id" sqlStatement="JDBC"/> 32 </table> 33 </context> 34 </generatorConfiguration>
5. 一键生成
双击mybatis-generator:gererate,一键生成entity+mapper接口+ xml实现SQL。

有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。

浙公网安备 33010602011771号