寻找写代码感觉(五)之Mybatis官方代码生成器的使用

一、Mybatis Generator生成器

见名知意,官方给出的代码生成器。好处就是不用自己写实体类、接口、xml文件了,应对简单增删改查是可以的。复杂的还是需要自己手写sql的。

二、Mybatis代码生成器的使用

下面将演示使用代码生成器,生成持久层代码。

1、添加POM依赖 <!-- mybatis generator 自动生成代码插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <configuration> <configurationFile>src/main/resources/generator/generator-config.xml</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> </dependencies> </plugin> 2、添加对应配置文件

在src/main/resources/generator/下,创建generator-config.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> <context targetRuntime="MyBatis3" defaultModelType="flat"> <!-- 自动检查关键字,为关键字增加反引号 --> <property value="true"/> <property value="`"/> <property value="`"/> <!--覆盖生成XML文件--> <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" /> <!-- 生成的实体类添加toString()方法 --> <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/> <!-- 不生成注释 --> <commentGenerator> <property value="true"/> </commentGenerator> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/wiki?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=true&amp;serverTimezone=UTC" userId="wiki" password="wiki"> </jdbcConnection> <!-- domain类的位置 --> <javaModelGenerator targetProject="src\main\java" targetPackage="com.rongrong.wiki.domain"/> <!-- mapper xml的位置 --> <sqlMapGenerator targetProject="src\main\resources" targetPackage="mapper"/> <!-- mapper类的位置 --> <javaClientGenerator targetProject="src\main\java" targetPackage="com.rongrong.wiki.mapper" type="XMLMAPPER"/> <table tableName="demo" domainObjectName="Demo"/> </context> </generatorConfiguration> 3、准备数据库示例demo

执行如下SQL示例:

CREATE TABLE `demo` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL COMMENT '用户名', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='测试'; INSERT INTO demo VALUES ('111', '这是代码生成器的测试数据') 4、配置启动项

使用maven命令生成,如下图:

寻找写代码感觉(五)之Mybatis官方代码生成器的使用

5、点击执行

寻找写代码感觉(五)之Mybatis官方代码生成器的使用

6、查看控制台效果

寻找写代码感觉(五)之Mybatis官方代码生成器的使用

寻找写代码感觉(五)之Mybatis官方代码生成器的使用

可以清楚的看到,生成的实体类及接口。

三、编写Service及测试接口 1、编写Service代码

示例代码如下:

package com.rongrong.wiki.service; import com.rongrong.wiki.domain.Demo; import com.rongrong.wiki.domain.Test; import com.rongrong.wiki.mapper.DemoMapper; import com.rongrong.wiki.mapper.TestMapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * @author rongrong * @version 1.0 * @description * @date 2021/10/10 23:09 */ @Service public class DemoService { @Resource private DemoMapper demoMapper; public List<Demo> list() { return demoMapper.selectByExample(null); } } 2、编写接口

示例代码如下:

package com.rongrong.wiki.controller; import com.rongrong.wiki.domain.Demo; import com.rongrong.wiki.domain.Test; import com.rongrong.wiki.service.DemoService; import com.rongrong.wiki.service.TestService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; /** * * @description * @version 1.0 * @author longrong.lang * */ @RestController @RequestMapping("/demo") public class DemoController { @Resource private DemoService demoService; @GetMapping("/list") public List<Demo> demolist() { return demoService.list(); } } 3、测试接口

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgffs.html