笔记Mybatis-puls的基础分页操作
有一说一,mybatis-plus确实好用,不愧是plus版本。
无论是基本的CRUD操作,还是基础代码生成工具用起来都很轻松愉快,这里主要是记录分页操作。
mysql的表结构:
编码部分:
1、依赖部分
-
<dependencies>
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter</artifactId>
-
</dependency>
-
-
<dependency>
-
<groupId>com.baomidou</groupId>
-
<artifactId>mybatis-plus-boot-starter</artifactId>
-
<version>3.3.1.tmp</version>
-
</dependency>
-
<dependency>
-
<groupId>mysql</groupId>
-
<artifactId>mysql-connector-java</artifactId>
-
<version>8.0.18</version>
-
</dependency>
-
<dependency>
-
<groupId>org.projectlombok</groupId>
-
<artifactId>lombok</artifactId>
-
<version>1.18.10</version>
-
</dependency>
-
-
<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>
-
<exclusions>
-
<exclusion>
-
<groupId>org.junit.vintage</groupId>
-
<artifactId>junit-vintage-engine</artifactId>
-
</exclusion>
-
</exclusions>
-
</dependency>
-
</dependencies>
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+8
-
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
-
-
public class User {
-
private int id;
-
private String userName;
-
private int age;
-
private String sex;
-
}
4、写一个简单的mapper接口,继承了baseMapper
-
public interface UserMapper extends BaseMapper <User>{
-
}
5、想要使用框架提供的分页查询组件,写一个config类即可
-
-
-
public class MybatisPlusConfig {
-
-
public PaginationInterceptor paginationInterceptor() {
-
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
-
return paginationInterceptor;
-
}
-
}
6、一切就绪,开始编写测试方法。。。也不需要开放接口
-
-
class DemoApplicationTests {
-
-
-
private UserMapper userMapper;
-
-
-
void contextLoads() {
-
}
-
-
-
public void searchUserList(){
-
System.out.println("分页查询测试!》》》》》》");
-
IPage<User> userPage = userMapper.selectPage(new Page<>(2,100),null);
-
List<User> 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,要不然会报错
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfjihi
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01