Spring Boot2.0 整合mybatis、分页插件、druid
2018-06-26 14:34
1306 查看
前言
本文主要是针对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》,我的如下图:添加整合相关的包:
<!-- 2.0后包含spring-boot-starter的web服务包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency>
唯一的属性配置文件
项目不使用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<User> getUserBySearch(AppPage<User> page) { // TODO Auto-generated method stub PageHelper.startPage(page.getPageNum(),page.getPageSize()); List<User> list=userDao.queryUserList(page.getParam()); PageInfo<User> pageInfo = new PageInfo<User>(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了。
源码地址:https://gitee.com/flying-cattle/earn_knife
相关文章推荐
- Springboot整合Mybatis分页使用Druid监控SQL日志
- SpringBoot整合常用技术--MyBatis、Redis、定时任务、分页插件、逆向生成
- Mybatis分页插件 - PageHelper与springBoot的整合
- 自己现实mybatis分页插件 整合springboot 运行
- 记录问题:springboot中使用Mybatis-pagehelper分页插件遇到的版本兼容问题
- spring boot和mybatis集成分页插件
- spring-boot 集成mybatis的分页插件PageHelper和Generator
- SpringBoot Mybatis PageHelper分页插件的两种用法(二)
- Spring Boot+Mybatis+Druid+PageHelper实现多数据源并分页的方法
- Spring Boot 整合 Mybatis 实现 Druid 多数据源详解
- SpringBoot整合Mybatis时使用Druid数据库连接池
- SpringBoot用Druid整合MyBatis
- [置顶] MyBatis基于Spring-boot集成通用Mapper以及pagehelper分页插件(含源码下载)
- SpringBoot集成MyBatis的分页插件PageHelper
- SpringBoot系列七:SpringBoot 整合 MyBatis(配置 druid 数据源、配置 MyBatis、事务控制、druid 监控)
- java鬼混笔记:springboot 9、springboot整合mybatis加上分页功能
- spring-boot | 整合通用Mabatis 分页插件PageHelper
- Spring Boot : 集成mybatis、pagehelper插件、开启事务、druid数据源配置、mybatis-generator(十一)