寻找写代码感觉(五)之Mybatis官方代码生成器的使用
2021-10-11 00:09
766 查看
一、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 id="Mysql" targetRuntime="MyBatis3" defaultModelType="flat"> <!-- 自动检查关键字,为关键字增加反引号 --> <property name="autoDelimitKeywords" value="true"/> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <!--覆盖生成XML文件--> <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" /> <!-- 生成的实体类添加toString()方法 --> <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/> <!-- 不生成注释 --> <commentGenerator> <property name="suppressAllComments" value="true"/> </commentGenerator> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/wiki?useUnicode=true&characterEncoding=utf-8&useSSL=true&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" 56c 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命令生成,如下图:
5、点击执行
6、查看控制台效果
可以清楚的看到,生成的实体类及接口。
三、编写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、测试接口
结果如下:
四、写在最后
到此,代码生成器的使用演示完毕,有兴趣的同学,请自行尝试。
相关文章推荐
- 寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目
- 从寻找资源的习惯上谈如何获得好的代码及控件(使用Koders查找)
- 从寻找资源的习惯上谈如何获得好的代码及控件(使用Koders查找)
- MyBatis代码生成工具mybatis-generator在Myeclipse2014中的使用
- 在看官方的例子时候由一个grid实例,在每一行之前有个加号,展开可以显示内容,在实际应用中还是非常有用的,照搬例子的代码,发现老是提示对象不存在,查阅资料后发现是没有加载插件,这里和大家分享下Ext.grid.RowExpander插件的使用,
- Facebook Pop 代码解析及使用指南(部分代码参考第三方研究及官方定义)
- MyBatis学习总结(9)——使用MyBatis Generator自动创建代码
- MyBatis代码生成工具mybatis-generator在Myeclipse10中的使用
- 使用Mybatis Generator自动生成Mybatis相关代码
- MyBatis使用Generator自动生成代码
- 使用代码生成器“代码工厂”快速生成B/S程序代码
- mybatis generator生成代码工具的使用
- Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
- MyBatis相关代码生成器(Generator)的下载及使用
- Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
- MyBatis使用Generator自动生成代码
- 使用Mybatis Generator自动生成Mybatis相关代码
- 使用Mybatis Generator自动生成Mybatis相关代码
- 一双跑鞋的mybatis(六)---使用generator自动生成mybatis映射代码
- MyBatis使用Generator自动生成代码