目录
2.2 在 application.yml 配置文件中添加数据库的相关配置:
2.5 准备一个UserMapper接口继承BaseMapper
一、MyBatis-Plus的简介
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
官网:MyBatis-Plus
二、环境准备
2.1 引入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--SpringBoot-->
<dependency>
<groupId>com.baomidou</groupId>
<!--下面坐标根据自己使用的SpringBoot版本二选一-->
<!--SpringBoot2使用此版本-->
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
2.2 在 application.yml
配置文件中添加数据库的相关配置:
#??
server.port=8080
#?????
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#??ip ipconfig
spring.datasource.url=jdbc:mysql://localhost:3308/mall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=123456
#log
logging.level.root=error
logging.level.com.by=debug
logging.level.cn.scl.logtimex.aop.LogTimeXAOP=debug
2.3 准备一张表测试数据
2.4 准备User实体类
其中@TableName("`user`") 表示将User类和user表相关联
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName("`user`")
public class User {
private Integer id;
private String name;
private String sex;
private Integer age;
}
2.5 准备一个UserMapper接口继承BaseMapper
BaseMapper接口内置了许多CRUD的方法
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
三、测试代码
3.1 根据id查询单个数据
// 查询表中id=1 数据
void m1(){
User user = userMapper.selectById(1);
}
3.2 根据id查询多条数据
/**
* 2.根据id查询多条数据
*/
@Test
void m2() {
//1. 定义一个数组储存所有的id
int[] arr={1,2,3,4};
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i <=arr.length; i++) {
list.add(i);
}
List<User> users = userMapper.selectBatchIds(list);
}
3.3 分页查询
/**
* 3.分页查询
* QueryWrapper:适用于普通查询,可以进行等于、不等于、大于、小于、Like、In、Between等各种条件查询
*/
@Test
void m3() {
// 两个参数,第一个参数为当前页,第二个参数为每页显示多少条数据
Page<User> page = new Page<>(1,2);
// 小于
QueryWrapper<User> id = new QueryWrapper<User>().le("id", 4);
IPage<User> userIPage = userMapper.selectPage(page,id);
}
3.4 修改数据
/**
* 4 修改
*/
@Test
void m4() {
User user = User.builder().id(1).name("杨逍").age(18).build();
userMapper.updateById(user);
int a=10;
}
3.5 根据不同的条件删除数据
/**
* 5. 根据不同条件删除数据
* eq 表示等于
*/
@Test
void m5() {
QueryWrapper<User> queryWrapper = new QueryWrapper<User>().eq("id", 1);
// userMapper.deleteById(1); 功能单一
int i = userMapper.delete(queryWrapper);
if (i > 0) {
System.out.println("删除id为" + i + "的数据成功");
}
}
3.6 插单条数据
/**
* 6.插入数据
*/
@Test
void m6() {
User user = User.builder().name("杨逍").age(18).build();
int i = userMapper.insert(user);
if (i > 0) {
System.out.println("插入数据成功"+i);
}
}
四、源码参考
源代码 我已放到云效,https://codeup.aliyun.com/62858d45487c500c27f5aab5/springboot-mybatis-plus.git