spring Boot学习笔记(通用Mapper的使用)
时间:2020-04-25
本文章向大家介绍spring Boot学习笔记(通用Mapper的使用),主要包括spring Boot学习笔记(通用Mapper的使用)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
使用Mybatis框架编写持久层代码时,有时我们只需要单表的操作,这样就会产生一些机械重复的工作,而通用Mapper的出现帮我们解决了这个问题。
我使用的通用Mapper是abel533写的Github,这个框架提供了极其方便的MyBatis单表的增删改查,可以让我们不必在单表操作的编写上浪费多少时间。
本文是在spring Boot与Mybatis的整合完成的基础上写的,如果不太清楚spring Boot与Mybatis的整合可以移步。
通用Mapper的使用步骤
1.要使用通用Mapper需要先导入依赖
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.3</version>
</dependency>
2.改造实体类
/**
* User实体类
*/
//告知通用Mapper要对哪张表进行操作
@Table(name = "user")
public class User implements Serializable {
//告知通用Mapper此属性对应表中的主键
@Id
//告知通用Mapper此属性是自增长的
@KeySql(useGeneratedKeys = true)
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address;
//忽略此属性,不作为查询条件
@Transient
private String test;
}
3.新建UserMapper2
@Mapper
public interface UserMapper2 extends tk.mybatis.mapper.common.Mapper<User> {
//Mapper只需要继承tk.mybatis.mapper.common.Mapper<T>这个接口,通用Mapper就会自动帮我们生成Mybatis的单表的增删改查。
//T:泛型,数据库表对应的实体类的名称,因为在application.properties中配置了pojo别名扫描包,所以没有写全类名
}
4.编写测试类
@RunWith(SpringRunner.class)
@SpringBootTest(classes = MySpringBootApplication.class)
public class UserMapper2Test {
@Autowired
private UserMapper2 userMapper2;
//因为我懒,这里只写了一个根据主键查询,和一个根据User对象中的拥有的属性查询
@Test
public void TestMethod(){
int id = 41;
String username = "老王";
User user = userMapper2.selectByPrimaryKey(id);
User user2 = new User();
user2.setUsername(username);
User user1 = userMapper2.selectOne(user2);
System.out.println(user1);
System.out.println(user);
}
}
原文地址:https://www.cnblogs.com/lazy-brain/p/12774237.html
- 【专知-关关的刷题日记15】Leetcode 27. Remove Element 方法1、2、3
- [接口测试 - 基础篇] 07 来来来,一起读写excel玩玩之一
- 时间序列分析算法【R详解】
- 【专知-关关的刷题日记16】Leetcode 88. Merge Sorted Array
- [接口测试 - 基础篇] 06 好吧也来解析下html
- [接口测试 - 基础篇] 05 好讨厌的xml解析
- 【专知-关关的刷题日记17】Leetcode 268. Missing Number
- 【专知-关关的刷题日记18】Leetcode 35. Search Insert Position
- [接口测试 - http.client篇] 15 常用API说明及基本的示例
- [接口测试 - http.client篇] 14 源码初探及其工作机制分析
- 【专知-关关的刷题日记19】Leetcode 118. Pascal's Triangle
- 每周学点大数据 | No.3算法设计与分析理论
- HDU 1874 畅通工程续【Floyd算法实现】
- 接口测试 | 21 基于flask弄个restful API服务出来
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- MySQL information_schema详解 KEY_COLUMN_USAGE
- Python 实现黑客帝国代码雨效果
- MySQL information_schema详解 ndb_transid_mysql_connection_map
- MySQL information_schema详解 OPTIMIZER_TRACE
- 用 Python 画一个奸笑(滑稽)表情
- Python 进阶(十):网络编程
- Python 数据分析(二):Matplotlib 绘图
- 用 Python 制作一个艺术签名小工具,给自己设计一个优雅的签名
- 你认可《后浪》吗
- Python 数据分析(三):初识 Pandas
- MySQL information_schema详解 PARAMETERS
- Python 数据分析(四):Pandas 进阶
- 用 Python 写一个颜值测试小工具
- 当 Python 遇到微信
- CenterNet之loss计算代码解析