
有一说一,mybatis-plus确实好用,不愧是plus版本。
无论是基本的CRUD *** 作,还是基础代码生成工具用起来都很轻松愉快,这里主要是记录分页 *** 作。
mysql的表结构:
编码部分:
1、依赖部分
org.springframework.boot spring-boot-startercom.baomidou mybatis-plus-boot-starter3.3.1.tmp mysql mysql-connector-java8.0.18 org.projectlombok lombok1.18.10 org.springframework.boot spring-boot-starterorg.springframework.boot spring-boot-starter-testtest org.junit.vintage junit-vintage-engine
2、application.yml
yml好用明了,不过稍不注意就容易碰到坑,空格经常被忽略导致报错
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 这是用于打印sql的配置,不需要就不用
3、创建一个非常简单的实体类,这里用@Data来自lombok,主要是节省了写get和set,代码更加简洁。所有字段需要和数据库一一对应,驼峰命名的字段在数据表中为下划线格式,userName=》user_name
@Data
public class User {
private int id;
private String userName;
private int age;
private String sex;
}
4、写一个简单的mapper接口,继承了baseMapper
public interface UserMapper extends baseMapper{ }
5、想要使用框架提供的分页查询组件,写一个config类即可
@Configuration
@ConditionalOnClass(value = {PaginationInterceptor.class})
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
}
}
6、一切就绪,开始编写测试方法。。。直接测试真的很好用,也不需要开放接口
@SpringBootTest
class DemoApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
}
@Test
public void searchUserList(){
System.out.println("分页查询测试!》》》》》》");
IPage userPage = userMapper.selectPage(new Page<>(2,100),null);
List listUser = userPage.getRecords(); //List结果集
for (User user: listUser){
System.out.println(user);
}
}
}
分页查询结果查询结果,数据比较多,第二页就是101-200,总共100条。
也可以看到,后台打印的sql SELECT id,user_name,age,sex FROM user LIMIT ?,?
底层原理还是没变,无非上层封装了
最后:
别忘在启动类上指定mapper,要不然会报错
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)