一、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&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命令生成,如下图:

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、测试接口

结果如下:

四、写在最后

到此,代码生成器的使用演示完毕,有兴趣的同学,请自行尝试。

寻找写代码感觉(五)之Mybatis官方代码生成器的使用的更多相关文章

  1. 寻找写代码感觉(二)之 Spring Boot 项目属性配置

    一.前言 写代码就和恋爱一样,有反馈就要趁热打铁,搞完了项目搭建,接下来就来搞搞项目配置. 二.IDEA设置 1.编码配置 这里所说的就是代码的编码格式,你可以不设置,但是可能要面临的是,很多未知的麻 ...

  2. 寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目

    写在前面 现在已经是八月份了,我已经荒废了半年居多,不得不说谈恋爱确实是个麻烦的事,谈好了皆大欢喜,分手了就是萎靡不振,需要很长一段时间才能缓过来. 人还是要有梦想的,至于实现只不过是一个契机,但凡不 ...

  3. 寻找写代码感觉(十六)之 集成Validation做参数校验

    写在前面 今天是大年初五了... 不知不觉,又要上班了,美好的假期只剩一天了,有点不舍呢! 也不知道为什么,总感觉像在做梦一样,像没睡醒一样,并不是因为眼睛小,更多应该是自寻烦恼,想得多罢了. 参数校 ...

  4. 寻找写代码感觉(三)之使用 Spring Boot 编写接口

    一.前言 项目配置完之后,接着就是写接口了,那咱们就开始吧. 二.项目配置补充知识点 上篇文章写的是关于项目属性配置的一些知识,这里针对上次遗忘内容进行补充如下: 2.1.获取配置文件的值 在appl ...

  5. 寻找写代码感觉(八)之SpringBoot过滤器的使用

    一.什么是过滤器? 过滤器是对数据进行过滤,预处理过程,当我们访问网站时,有时候会发布一些敏感信息,发完以后有的会用*替代,还有就是登陆权限控制等,一个资源,没有经过授权,肯定是不能让用户随便访问的, ...

  6. 【优雅写代码系统】springboot+mybatis+pagehelper+mybatisplus+druid教你如何优雅写代码

    目录 spring基本搭建 整合mybatis pom配置 mybatis配置 设置数据源 设置sqlsessionfactory 设置扫描 设置开启事务 资源放行 测试 结果 思考&& ...

  7. 文档驱动 —— 表单组件(五):基于Ant Design Vue 的表单控件的demo,再也不需要写代码了。

    源码 https://github.com/naturefwvue/nf-vue3-ant 特点 只需要更改meta,既可以切换表单 可以统一修改样式,统一升级,以最小的代价,应对UI的升级.切换,应 ...

  8. 写给新手看的 MyBatis 入门

    目录 MyBatis 使用前的准备 什么是 MyBatis 使用Maven 进行 MyBatis 开发环境搭建 MyBatis 入门 项目整体结构一览 MyBatis 的简单生命周期 1.获取 Sql ...

  9. 【腾讯Bugly干货分享】深入理解 ButterKnife,让你的程序学会写代码

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/578753c0c9da73584b025875 0.引子 话说我们做程序员的,都 ...

随机推荐

  1. Struts2之Json插件的使用

    时间:2017-1-15 02:27 --普通方式处理异步请求:    ServletActionContext.getResponse().getWriter().print("aa&qu ...

  2. redis《三》连接池配置参数

    参数 值 setTestWhileIdle() 在空闲时检查有效性 true setMinEvictableIdleTimeMillis() 连接最小空闲时间 1800000L setTimeBetw ...

  3. vue element-ui 组件上传图片 以及对 图片的 宽高 和 大小 格式等 做出限制

    vue  文件: 自行引用 elemen-ui    <el-upload                         action=" 让后端给你上传地址 "      ...

  4. 【CSS】按钮

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Linux下scp命令

    1.scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令. 2.scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版. ...

  6. IPsec 9个包分析(主模式+快速模式)

    第一阶段:ISAKMP协商阶段 1.1 第一包 包1:发起端协商SA,使用的是UDP协议,端口号是500,上层协议是ISAKMP,该协议提供的是一个框架,里面的负载Next payload类似模块,可 ...

  7. jq给动态标签绑定事件

    $(document).on("click", ".autocompleteDiv .autocomplete_ul li", function () { lo ...

  8. ysoserial CommonsColletions4分析

    ysoserial CommonsColletions4分析 其实CC4就是 CC3前半部分和CC2后半部分 拼接组成的,没有什么新的知识点. 不过要注意的是,CC4和CC2一样需要在commons- ...

  9. C++ 飞行游戏

    源代码: #include<bits/stdc++.h> #include<windows.h> #include<conio.h> using namespace ...

  10. Vmware 15 安装 win7 虚拟机 (初学者操作与详解教程)

    @ 目录 一.镜像下载 1.什么是镜像 2.常见的系统镜像文件格式 3.下载win7旗舰版镜像 二.VMware Workstation 下载 1.什么是虚拟机 2.VMware 主要功能 3.VMw ...