SpringBoot整合Mybatis,使用通用mapper和PageHelper进行分页

简介: 乐哉码农上节介绍了如何整合Security,这节就说下如何再Springboot下使用持久层框架mybatis和牛人封装的通用mapper与mybatis的整合,直接进入正题吧!1.
乐哉码农

上节介绍了如何整合Security,这节就说下如何再Springboot下使用持久层框架mybatis和牛人封装的通用mapper与mybatis的整合,直接进入正题吧!

1.首先引入我们需要的依赖:

通用mapper
PageHelper
mybatis

2.mybatis的配置

配置myabtis有两种方式,一是通过javaconfig配置还有一种直接使用Springbot的配置文件进行设置:mybatis.mapper-locations=classpath:mapper/**/*.xml,但是我这里使用的是mybatis的注解方式所以连这个都不需要配置,另外还需要配置mapUnderscoreToCamelCase这个属性,这是用来我们做查或者新增的时候,mybatis自动会把我们的实体类按照驼峰格式转为数据库里面的下划线格式,好处就是不要写resultmap了。

3.通用mapper的集成

首先我们需要定义一个我们自己的通用mapper接口继承封装好的两个接口(都在tk里面)

MyMapper.java

接下来我将我们对应的mapper继承这个mapper,使用mapper注解

FrameCodeMapper.java

这里面我只写了一个deletes方法,用来进行批量删除的,但是这个mapper已经具备增删改查的所有功能,其中FrameCode是我们与数据表中对应的实体。既然我们已经有了mapper我们就看如何使用他们了

FrameCodeService.java

我们再service层里面进行了了对mapper的调用,我们可以看出selectByExample,insert,updateByPrimaryKey这些方法我们再mapper中都没有定义,说明我们可以直接使用通用mapper里面的方法,我们不需要写哪些重复的增删改查代码了。对于mapper里面封装的crud方法,我这里值=只着重讲一个查询(模糊查询),也许是使用的最常见的,也是mapper里面使用的最麻烦的一个方法,我这里对他进行了一个简单的封装:

4.原始的mapper里面的模糊查询方法

模糊查询的mapper

可以看出这里需要准备criteria进行创建模糊查询,这里还只是模糊查询一个字段,如果后续增加了字段,还需要不断的再这里添加,是不是很麻烦,而且也不好移植,所以我这里就对他进行了简单的封装,用的是反射,自从知道了反射,好多功能上面都用上了,确实很方便

MapperUtils.java

到这里为止,已经将mybatis的集成和通用mapper的使用介绍完毕,最后再介绍一个插件PageHelper的使用

5.PageHelper的集成与使用

我们再做项目时,避免不了会进行分页,我们会自己进行去下分页语句,mysql会使用limit,sqlserver使用top,oracle使用rownumber实现,会不会觉得很不方便,今天我为给大家介绍一下PageHelper这个插件在Springboot中的使用

首先引入插件的依赖

PageHelper的pom

接着对pagehelper进行配置,这里也有两种方式:我都贴出来

利用springboot的配置文件
使用javaconfig模式进行配置

最后介绍下如何在项目中使用:

        1.先从请求参数中获取到pageCurrent(当前页),pageSize(页面大小),因为我前端用的时bjui框架,所以在后台接收到的是这两个字段。

        2.我们将请求参数 PageHelper.startPage(pageCurrent,pageSize);放到这里面

        3.再查询我们需要的数据,例如这样:List entitys = service.getAll(entity);

        4.最后再将数据封装到PageInfo pageInfo=new PageInfo(entitys);这里,

        pageInfo里面存储了我们想要的数据,total,start,limit,size都在里面,我们只需要去除我们关心的数据就好了,我这里值取出了数据的总记录数pageInfo.getTotal(),总的代码记录如下

分页代码的实现

感谢大家能看到这里,文中讲的不正确的地方,欢迎在下方留言,我会及时修正。

欢迎大家关注我的公众号,会不定时更新技术干货。

相关文章
|
5天前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
6天前
|
Java 数据库连接 数据格式
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
IOC/DI配置管理DruidDataSource和properties、核心容器的创建、获取bean的方式、spring注解开发、注解开发管理第三方bean、Spring整合Mybatis和Junit
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
|
30天前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
11天前
|
前端开发 JavaScript Java
技术分享:使用Spring Boot3.3与MyBatis-Plus联合实现多层次树结构的异步加载策略
在现代Web开发中,处理多层次树形结构数据是一项常见且重要的任务。这些结构广泛应用于分类管理、组织结构、权限管理等场景。为了提升用户体验和系统性能,采用异步加载策略来动态加载树形结构的各个层级变得尤为重要。本文将详细介绍如何使用Spring Boot3.3与MyBatis-Plus联合实现这一功能。
43 2
|
19天前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
25 1
|
21天前
|
Java 数据库连接 测试技术
SpringBoot 3.3.2 + ShardingSphere 5.5 + Mybatis-plus:轻松搞定数据加解密,支持字段级!
【8月更文挑战第30天】在数据驱动的时代,数据的安全性显得尤为重要。特别是在涉及用户隐私或敏感信息的应用中,如何确保数据在存储和传输过程中的安全性成为了开发者必须面对的问题。今天,我们将围绕SpringBoot 3.3.2、ShardingSphere 5.5以及Mybatis-plus的组合,探讨如何轻松实现数据的字段级加解密,为数据安全保驾护航。
72 1
|
30天前
|
Web App开发 前端开发 关系型数据库
基于SpringBoot+Vue+Redis+Mybatis的商城购物系统 【系统实现+系统源码+答辩PPT】
这篇文章介绍了一个基于SpringBoot+Vue+Redis+Mybatis技术栈开发的商城购物系统,包括系统功能、页面展示、前后端项目结构和核心代码,以及如何获取系统源码和答辩PPT的方法。
|
30天前
|
SQL Java 关系型数据库
SpringBoot 系列之 MyBatis输出SQL日志
这篇文章介绍了如何在SpringBoot项目中通过MyBatis配置输出SQL日志,具体方法是在`application.yml`或`application.properties`中设置MyBatis的日志实现为`org.apache.ibatis.logging.stdout.StdOutImpl`来直接在控制台打印SQL日志。
SpringBoot 系列之 MyBatis输出SQL日志
|
14天前
|
Java 数据库连接 开发者
MyBatis-Plus整合SpringBoot及使用
MyBatis-Plus为MyBatis提供了强大的增强,使得在Spring Boot项目中的数据访问层开发变得更加快捷和简便。通过MyBatis-Plus提供的自动CRUD、灵活的查询构造器和简洁的配置,开发者
29 0
|
22天前
|
SQL Java 数据库连接
Spring Boot联手MyBatis,打造开发利器:从入门到精通,实战教程带你飞越编程高峰!
【8月更文挑战第29天】Spring Boot与MyBatis分别是Java快速开发和持久层框架的优秀代表。本文通过整合Spring Boot与MyBatis,展示了如何在项目中添加相关依赖、配置数据源及MyBatis,并通过实战示例介绍了实体类、Mapper接口及Controller的创建过程。通过本文,你将学会如何利用这两款工具提高开发效率,实现数据的增删查改等复杂操作,为实际项目开发提供有力支持。
54 0