最近用SpringBoot+MyBatis在做个人博客网站,遇了条件分页查询,现在把解决流程与源代码记录下来,便于后续参考。
0. pom依赖
这里把主要的依赖放进来,其他相关依赖请自行导入
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!-- pagehelper 分页的一个工具 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
1.数据表

数据表sql:
CREATE DATABASE /*!32312 IF NOT EXISTS*/`myblog` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `myblog`;
/*Table structure for table `articles` */
DROP TABLE IF EXISTS `articles`;
CREATE TABLE `articles` (
`article_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`title` varchar(255) DEFAULT NULL COMMENT '文章标题',
`name` varchar(255) DEFAULT NULL,
`view_num` int(11) DEFAULT NULL COMMENT '浏览数',
`comment_num` int(11) DEFAULT NULL COMMENT '评论数',
`category_id` bigint(20) DEFAULT NULL COMMENT '文章分类ID',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`like_num` int(11) DEFAULT '0',
PRIMARY KEY (`article_id`),
KEY `key_category_id` (`category_id`),
KEY `key_userId` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=99 DEFAULT CHARSET=utf8 COMMENT='文章表';
/*Data for the table `articles` */
insert into `articles`(`article_id`,`user_id`,`title`,`name`,`view_num`,`comment_num`,`category_id`,`create_time`,`like_num`) values (1,0,'555','555.md',0,3,1,'2020-09-22 00:00:00',0),(83,1,'daidai','daidai.md',0,4,1,'2020-09-30 11:09:42',0),(84,1,'redis安装','redis安装.md',0,1,1,'2020-09-30 11:09:43',0),(85,1,'淘宝革命的启示录','淘宝革命的启示录.md',0,2,1,'2020-09-30 11:09:43',0),(98,1,'444','444.md',0,9,0,'2020-10-01 10:55:45',0);
2. 定义pojo
定义与数据表相对应的Article 类
@Data
@NoArg

本文介绍了使用SpringBoot和MyBatis实现条件分页查询的步骤,包括pom依赖、数据库表结构、Pojo类定义、MyBatis配置、Dao和Mapper层实现、Service层及Controller层的代码示例,并展示了查询结果和SQL日志。通过实例复习了MyBatis的分页查询技巧。
最低0.47元/天 解锁文章
1190





