目录:
(1)查询操作
(2) 分页查询
(1)查询操作
package com.kuang;
import com.kuang.mapper.UserMapper;
import com.kuang.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@SpringBootTest
class MybatisPlusApplicationTests {
//测试,我们没有写任何CRUD,测试我们能不能使用
//继承了BaseMapper,所有的方法都来自父类,我们也可以编写自己的扩展方法
@Autowired
private UserMapper userMapper;
//查询测试
@Test
public void testSelectById(){
User user=userMapper.selectById(1L);
System.out.println(user);
}
//批量查询,参数是一个集合,参数我们用数组工具类
@Test
public void testSelectByCatchId(){
List<User> users = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));
users.forEach(System.out::println);
}
//条件查询之使用map
@Test
public void testSelectByMap(){
HashMap<String, Object> map = new HashMap<>();
//自定义查询
map.put("name","狂神说Java2");
map.put("age",3);
List<User> users = userMapper.selectByMap(map);
users.forEach(System.out::println);
}
}
查询测试:
批量查询:
条件查询值map:
通过使用MyBatis-plus之后发现 基本的CRUD,都得到了简化,不用再写复杂的sql了
(2) 分页查询
配置类:配置分页插件
package com.kuang.config;
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@MapperScan("com.kuang.mapper") //注解扫描,扫描mapper文件
@EnableTransactionManagement //事务注解,自动管理事务
@Configuration //注解代表是一个配置类
public class MyBatisPlusConfig {
//注册乐观锁插件
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor(){
return new OptimisticLockerInterceptor();
}
//分页插件 旧版
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
测试类:
package com.kuang;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kuang.mapper.UserMapper;
import com.kuang.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@SpringBootTest
class MybatisPlusApplicationTests {
//测试,我们没有写任何CRUD,测试我们能不能使用
//继承了BaseMapper,所有的方法都来自父类,我们也可以编写自己的扩展方法
@Autowired
private UserMapper userMapper;
//测试分页查询
@Test
public void testPage(){
//参数 参数一:当前页,参数二:页面大小
Page<User> page= new Page<>(1,5);
userMapper.selectPage(page,null);
System.out.println(page.getTotal());
page.getRecords().forEach(System.out::println);
}
}