文档章节

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

边鹏_尛爺鑫
 边鹏_尛爺鑫
发布于 2018/06/26 14:34
字数 652
阅读 1448
收藏 37

前言

本文主要是针对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

© 著作权归作者所有

共有 人打赏支持
边鹏_尛爺鑫
粉丝 29
博文 30
码字总数 24826
作品 0
成都
程序员
私信 提问
加载中

评论(2)

HenryZhou2
HenryZhou2
m
remin
remin
mark 学习一下
spring-boot:spring boot2.0集成mybatis

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mr_OOO/article/details/84930318 文章目录 如何集成 测试 项目地址 参考文章 如何集成 添加依赖 此处默认已配...

Mr_OOO
2018/12/09
0
0
快速开发模块化脚手架 - lenos

lenos是一款快速开发模块化脚手架,采用spring boot2.0、spring、SpringMvc、mybatis、shiro、activiti工作流+swagger+ehcache+quartz+freemarker+layui技术进行开发,持久层集成tkmapper丰富...

一枚码农
2018/03/06
0
3
SpringBoot基础教程4-1-2 使用Mybatis操作数据库

1 概述 为什么选择Mybatis,一个很重要的原因是它,将封装与开放的完美结合,高效的生成增删改查的同时,又能满足复杂的场景,下面我们详细介绍,如何快速接入实现数据库的增删改查。 2 添加...

Mkeeper
01/03
0
0
LeeCX - 开源后台管理系统简单介绍

我们在github上开源了一个后台管理系统,使用了前端css框架并且简单的封装了一下,技术的将会不间断更新,详细可以点击原文链接。具体介绍如下: LeeCX 开源后台管理系统,前端基于bootstrap...

风间影月
2017/09/20
0
0
Spring Boot整合MyBatis学习总结

公司的很多项目都陆陆续续引入了Spring Boot,通过对Spring Boot的接触了解发现其真的是大大地简化了开发、简化了依赖配置,很多功能注解一下就可以实现,真的是太方便了。下面记录了一个Spr...

zhuwensheng
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

记录replugin使用的一个坑

反复编译插件放入宿主中,一直出现如下错误: android.content.res.Resources$NotFoundException: Resource ID #0x7f050000 type #0x5 is not valid 回滚代码,重启AS还是出错。最终发现将宿...

Gemini-Lin
今天
2
0
Vert.x系列(二)--EventBusImpl源码分析

前言:Vert.x 实现了2种完成不同的eventBus: EventBusImpl(A local event bus implementation)和 它的子类 ClusteredEventBus(An event bus implementation that clusters with other Ve......

冷基
今天
2
0
Perl - 获取文件项目

参考:http://www.runoob.com/perl/perl-directories.html 下面返回JSON格式的文件列表 #!/usr/bin/perluse strict;use warnings;use utf8;use feature ':5.26';require Fi......

wffger
昨天
3
0
vue组件系列3、查询下载

直接源码,虽然样式样式不好看,逻辑也不是最优,但是可以留作纪念。毕竟以后类似的功能只需要优化就可以了,不用每次都重头开始。。。 <template> <div class="pre_upload"> <div ...

轻轻的往前走
昨天
3
0
java浅复制和深复制

之前写了数组的复制,所以这里继续总结一下浅复制和深复制。 浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝。 深拷贝:对基本数据类型进行值传递,对引用数据类型,...

woshixin
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部