我们在之前的springboot整合mybatis做数据的增删改查功能的流程
1.编写实体类
2.创建mapper接口
- 在mapper接口中定义方法并且通过注解的方式绑定增删改查
- 或者通过方面名绑定xml文件中的sql语句进行增删改查
3.在测试类调用方法或者在service层调用方法
在引入了mybatis-plus我们简化了第二步 的开发mybatis-plus为我们封装好了很多基本的增删改查功能
然而lombok用来简化实体类,为我们实现了get、set方法
我们通过一个小案例了解下
1.创建数据库和引入依赖
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
<!--mysql依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--lombok用来简化实体类-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
/*
Navicat Premium Data Transfer
Source Server : localhost_3306
Source Server Type : MySQL
Source Server Version : 80026
Source Host : localhost:3306
Source Schema : mybatis
Target Server Type : MySQL
Target Server Version : 80026
File Encoding : 65001
Date: 17/01/2022 11:08:24
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint NOT NULL COMMENT '主键ID',
`name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
`age` int NULL DEFAULT NULL COMMENT '年龄',
`email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'Jone', 18, 'test1@baomidou.com');
INSERT INTO `user` VALUES (2, 'Jack', 20, 'test2@baomidou.com');
INSERT INTO `user` VALUES (3, 'Tom', 28, 'test3@baomidou.com');
INSERT INTO `user` VALUES (4, 'Sandy', 21, 'test4@baomidou.com');
INSERT INTO `user` VALUES (5, 'Billie', 24, 'test5@baomidou.com');
SET FOREIGN_KEY_CHECKS = 1;
2.实体类
package com.dfp.mbpuls_test.entity;
import lombok.Data;
/**
* 引入lombok自动帮我们生产get和set方法
*/
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
我们发现这里和我们以前创建实体类的方式不同,我们在这里给类头加上了@Data注解引入lombok
3.mapper接口
package com.dfp.mbpuls_test.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dfp.mbpuls_test.entity.User;
import org.springframework.stereotype.Repository;
@Repository
public interface UserMapper extends BaseMapper<User> {
}
我们看到我们这里创建的Usermapper非常的简洁,但是我们要通过继承BaseMapper并且将我们要操作的实体类添加进去。详细的代码可以点进去查看一下(不要忘了给控制类添加Mapperscan)
4.测试使用
package com.dfp.mbpuls_test;
import com.dfp.mbpuls_test.Mapper.UserMapper;
import com.dfp.mbpuls_test.entity.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class MbPulsTestApplicationTests {
@Autowired
UserMapper userMapper;
@Test
void contextLoads() {
}
@Test
public void findAll(){
List<User> users=userMapper.selectList(null);
for (User u:users) {
System.out.println(u);
}
User u1=userMapper.selectById(1);
System.out.println("查询1号信息:"+u1);
}
}
我们这里就是引入一个查询方法通过列表的形式查询所有的字段和通过id查询用户信息
记得配置数据库我这里没有介绍