简述

还是和我之前分享的SpringBoot结合mybatis + tk.mapper(通用增删改查组件) + pageHelper(分页插件)一样,用springBoot我就不想用其他的配置文件,xml文件。

mybatisPlus2.x 版本不支持@Select或者@SelectProvider自定义sql结合分页插件使用,只支持xml文件的方式。所以本篇在mybatisPlus3.x基础上例子。

如果使用mybatisPlus2.x,推荐两篇写的不错的博客

https://blog.csdn.net/apicescn/article/details/79538938

https://blog.csdn.net/apicescn/article/details/79554597

如果要在2.x版本使用自定义sql分页,除了使用xml配置文件,也可以引入分页组件pageHelper

mybatisPlus和tk.mapper比较,网上很多比较文章,这里不多赘述

mybatisPlus比tk.mapper多了很多实用的功能确实不错,但是这个无xml的分页折磨我很久,总觉得分页和mybatisPlus太耦合。

开始配置

配置文件

pom文件

springBoot配置多说,mybatisPlus版本为3.1.1,3.x版本代码生成器多了分出一个jar包mybatis-plus-generator

   <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version><spring-boot.version>2.1.3.RELEASE</spring-boot.version><springfox-swagger.version>2.7.0</springfox-swagger.version><org.projectlombok.lombok>1.18.6</org.projectlombok.lombok><com.fasterxml.jackson>2.9.8</com.fasterxml.jackson><postgresql.driver.version>9.4.1211</postgresql.driver.version><boot.mybaits.version>1.2.0</boot.mybaits.version><mybatisplus.version>3.1.1</mybatisplus.version></properties>    <!-- db --><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>${postgresql.driver.version}</version></dependency><!-- Mybatis-plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatisplus.version}</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>${mybatisplus.version}</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>${mybatisplus.version}</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-dts</artifactId><version>${mybatisplus.version}</version></dependency>

yml文件

mybatis有驼峰转换在tk,mapper生效,但是用mybatisPlus必须配置它的驼峰转换。

此处猜测大部分配置用mybatisPlus的配置才能生效,因为各种配置是针对mybatisPlus

spring:application:name: report-serviceswagger:package: com.zhou.demo.mybatisplus.controllerprofiles:active: devdatasource:driverClassName: org.postgresql.Driverurl: *******************************username: *******************************password: *******************************tomcat:max-active: 300server:port: 8080mybatis-plus:type-aliases-package: com.zhou.demo.mybatisplus.dao.beanconfiguration:map-underscore-to-camel-case: true

代码实现

mybatisPlus的注解tableName和TableField condition是查询的方式like查询,可以说支持的很好了

3.x较2.x下面的实现类的路径做了一定漂移

@Data
@TableName("tb_person")
public class Person{private String id;@TableField(condition = SqlCondition.LIKE)private String name;private int age;
}
public interface PersonMapper extends BaseMapper<Person> {@SelectProvider(type = PersonProvider.class, method = "findByPage")//@Select("select * from tb_person where name = #{name} ")IPage<Person> findPage(Page<Person> page, String name);}

类似tk.mapper也是基础一个公共类mapper实现通用方法,不过比tk.mapper要更加全面

此处有一个自定义的方法findPage,用来测试自定义sql结合plus的分页插件,@select和@SelectProvider就不展开介绍了

@Service
public class PersonService extends ServiceImpl<PersonMapper, Person> {public Person get(String id){return getById(id);}public boolean saveEntity(Person person){return save(person);}public IPage<Person> findByPage(String name){Person person = new Person();person.setName(name);Wrapper<Person> wrapper = new QueryWrapper(person);Page<Person> page = new Page<>();IPage<Person> personIPage = baseMapper.selectPage(page, wrapper);return personIPage;}public IPage<Person> testPage(String name){Page<Person> page = new Page<>();IPage<Person> personIPage = this.baseMapper.findPage(page, name);return personIPage;}}

service层分别是保存,查询,分页方法,以上满足了用mybatisPlus全程去XML的使用方法

详细代码可以查看我git上的分享

https://github.com/zhouxiaohei/spring-boot-mybatisPlus-demo

MybatisPlus整合springCloud---去xml化相关推荐

  1. java xml快捷注释_详解SpringBoot 快速整合Mybatis(去XML化+注解进阶)

    序言:使用MyBatis3提供的注解可以逐步取代XML,例如使用@Select注解直接编写SQL完成数据查询,使用@SelectProvider高级注解还可以编写动态SQL,以应对复杂的业务需求. 一 ...

  2. 高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制)

    高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制) 视频地址:https://www.bilibili.com/video/BV1ry4y1v7Tr?p=8& ...

  3. 微服务是去ESB总线、去中心化和分布式

    SOA(Service-Oriented Architecture),中文全称面向服务架构.它不是一种技术,而是一种解决问题的思考方式.它旨在搭建一种粗粒度.松耦合的以服务为中心的架构,接口之间通过定 ...

  4. MybatisPlus整合Flowable出现的坑

    MybatisPlus整合Flowable出现的坑 - 摘要:现在在项目中使用的MybatisPlus,最近研究了一下流程框架Flowable,看了很多技术文档博客,打算直接整合进去,先记录一下遇到的 ...

  5. 去中心化已成大势所趋,手机的中枢地位岌岌可危?

    作者 | 明明 智能音箱的普及会明显减少手机的使用次数,你相信吗? 埃森哲(Accenture)近期发布了一项调查数据,66%使用Amazon Echo和Google Home等智能音箱的用户,使用手 ...

  6. es springboot 不设置id_es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程详解

    注意:适用于springboot或者springcloud框架 1.首先下载相关文件 2.然后需要去启动相关的启动文件 3.导入相关jar包(如果有相关的依赖包不需要导入)以及配置配置文件,并且写一个 ...

  7. 区块链去中心化的生命之源:“DPOS(委托权益证明)共识机制”

    区块链去中心化的生命之源:"DPOS(委托权益证明)共识机制" 原创2018-04-24[水伯]战略忽悠局政委水伯 移动网络时代唯一壁垒就是认知,周二有约给思想洗澡让认知破壁! D ...

  8. spring和mybatis整合:使用xml方式

    文章目录 spring和mybatis整合:使用xml方式 1. 创建数据库 2. 创建工程,pom.xml文件如下: 3. 依赖下载地址如下: 4. 配置mybatis的全局配置,在resource ...

  9. 浅析去中化区块链游戏资产交易平台

    资产本身就已经具备交易能力: 基于以太坊区块链去中心化的游戏厂商,在开发游戏角色.道具等资产时,所编写的智能合约本身就支持了角色.道具等资产转移功能,也就是在以太坊区块链上运行的智能合约游戏资产本身就 ...

最新文章

  1. 特斯拉到底颠覆了什么?
  2. 连续投影算法_出货量第一,专利300+,极米科技如何成为“投影一哥”?
  3. [BZOJ1502]月下柠檬树(自适应辛普森积分)
  4. 【Java从入门到头秃专栏 】(三) 控制流程 Math Date DateFormat Calendar System BigDecimal Random
  5. 今天1024程序猿节啦!一起穿格子衫上班吧
  6. 机器学习(十二)朴素贝叶斯分类
  7. spark sql 优化心得
  8. 【ASP.NET Web API教程】5.2 发送HTML表单数据:URL编码的表单数据
  9. pclint 与vs2010结合识别预处理器定义
  10. PHP实现添加到错题本,制作错题本的步骤、使用方式及窍门!
  11. LightOj 1336(Sigma Function)
  12. 大写字母转换成小写字母
  13. postgresql 手动启动_PostGreSql 手动安装
  14. MATRIX FACTORIZATION TECHNIQUES FOR RECOMMENDER SYSTEMS论文笔记;推荐系统中的矩阵分解(MF)
  15. java下载网站图片代码_java下载网上的图片到本地
  16. 监听器之jp@gc详解
  17. 电话激活Windows 中文操作系统步骤
  18. 使用Win7 PE安装Win 7原版系统图解
  19. Web前端开发之HTML篇
  20. C语言练习题(n个自然数的立方和)

热门文章

  1. The user specified as a definer (‘root‘@‘%‘) does not exist
  2. 计算机考试公平吗,网上阅卷系统运用于小学生考试中公平吗
  3. 转转革新二手交易模式 推动共享经济升级
  4. IPSec VPN的原理与配置
  5. C#toolStrip使用
  6. 计算机基础,小白必读
  7. bzoj1911 [Apio2010]特别行动队
  8. [导入]让中国人脸红!崔永元“套”老外“套”出的震撼
  9. 软件测试(手工)方法汇总
  10. 这几个小众品牌,时髦好穿不撞衫!