mysql分页插件springboot_Spring Boot2.0 整合mybatis、分页插件、druid

前言

本文主要是针对SpringBoot2.0.2版本,实现整合mybatis、分页插件、druid等组件,实现完整的web服务,提供restful风格接口。

SpringBoot集成MyBatis有两种方式,一种简单的方式就是使用MyBatis官方提供的:

一、mybatis-spring-boot-starter (本文讲解的)

二、 另外一种方式也是我推荐的整合方式:

就是仍然用类似mybatis-spring的配置方式,这种方式需要自己写一些代码,但是可以很方便的控制MyBatis的各项配置,与添加组件。参考:https://my.oschina.net/bianxin/blog/1602958

基础框架

①:在http://start.spring.io/,配置你的项目信息并下载我的是《2.0.2.RELEASE》,我的如下图:

db8d321ee45e21654976e2795db16bc6.png

添加整合相关的包:

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

runtime

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.3.2

com.alibaba

druid-spring-boot-starter

1.1.10

com.github.pagehelper

pagehelper-spring-boot-starter

1.2.5

唯一的属性配置文件

项目不使用application.properties文件 而使用更加简洁的application.yml文件(直接改后缀名):

server:

port: 8080

spring:

application:

name: user-center

datasource:

name: test

url: jdbc:mysql://127.0.0.1:3306/xin

username: root

password: root

# 使用druid数据源

type: com.alibaba.druid.pool.DruidDataSource

driver-class-name: com.mysql.jdbc.Driver

filters: stat

maxActive: 20

initialSize: 1

maxWait: 60000

minIdle: 1

timeBetweenEvictionRunsMillis: 60000

minEvictableIdleTimeMillis: 300000

validationQuery: select 'x'

testWhileIdle: true

testOnBorrow: false

testOnReturn: false

poolPreparedStatements: true

maxOpenPreparedStatements: 20

mybatis:

mapper-locations: classpath:mapping/*.xml

type-aliases-package: com.winter.model

#pagehelper分页插件

pagehelper:

helperDialect: mysql

reasonable: true

supportMethodsArguments: true

params: count=countSql

#日志级别

logging:

level:

com.xin.usercenter.dao: debug

别的东西和以前一样的,这样就整合完了。

分页实现代码:

public PageInfo getUserBySearch(AppPage page) {

// TODO Auto-generated method stub

PageHelper.startPage(page.getPageNum(),page.getPageSize());

List list=userDao.queryUserList(page.getParam());

PageInfo pageInfo = new PageInfo(list);

return pageInfo;

}

返回的PageInfo的数据结构如下:

{

"total": 5,

"list": [

{

"id": 1,

"loginName": "admin",

"password": "123123",

"nickname": "ADMIN",

"type": 1,

"state": 1,

"note": "超级管理员",

"createTime": "2018-04-28 15:15:46",

"updateTime": "2018-04-28 15:16:37",

"updateUid": 1,

"loginIp": null,

"loginAddr": null

},

{

"id": 2,

"loginName": "bian",

"password": "123456",

"nickname": "Bian",

"type": 1,

"state": 1,

"note": "普通用户",

"createTime": "2018-06-21 11:25:31",

"updateTime": "2018-06-21 11:40:52",

"updateUid": 0,

"loginIp": null,

"loginAddr": null

}

],

"pageNum": 1,

"pageSize": 2,

"size": 2,

"startRow": 1,

"endRow": 2,

"pages": 3,

"prePage": 0,

"nextPage": 2,

"isFirstPage": true,

"isLastPage": false,

"hasPreviousPage": false,

"hasNextPage": true,

"navigatePages": 8,

"navigatepageNums": [

1,

2,

3

],

"navigateFirstPage": 1,

"navigateLastPage": 3,

"firstPage": 1,

"lastPage": 3

}

个人感觉官方返回的这个数据结构很完善了,所以就直接用PageInfo了。

欢迎加入技术讨论群:340697945

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值