MybatisPlus整合springCloud---去xml化
简述
还是和我之前分享的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化相关推荐
- java xml快捷注释_详解SpringBoot 快速整合Mybatis(去XML化+注解进阶)
序言:使用MyBatis3提供的注解可以逐步取代XML,例如使用@Select注解直接编写SQL完成数据查询,使用@SelectProvider高级注解还可以编写动态SQL,以应对复杂的业务需求. 一 ...
- 高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制)
高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制) 视频地址:https://www.bilibili.com/video/BV1ry4y1v7Tr?p=8& ...
- 微服务是去ESB总线、去中心化和分布式
SOA(Service-Oriented Architecture),中文全称面向服务架构.它不是一种技术,而是一种解决问题的思考方式.它旨在搭建一种粗粒度.松耦合的以服务为中心的架构,接口之间通过定 ...
- MybatisPlus整合Flowable出现的坑
MybatisPlus整合Flowable出现的坑 - 摘要:现在在项目中使用的MybatisPlus,最近研究了一下流程框架Flowable,看了很多技术文档博客,打算直接整合进去,先记录一下遇到的 ...
- 去中心化已成大势所趋,手机的中枢地位岌岌可危?
作者 | 明明 智能音箱的普及会明显减少手机的使用次数,你相信吗? 埃森哲(Accenture)近期发布了一项调查数据,66%使用Amazon Echo和Google Home等智能音箱的用户,使用手 ...
- es springboot 不设置id_es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程详解
注意:适用于springboot或者springcloud框架 1.首先下载相关文件 2.然后需要去启动相关的启动文件 3.导入相关jar包(如果有相关的依赖包不需要导入)以及配置配置文件,并且写一个 ...
- 区块链去中心化的生命之源:“DPOS(委托权益证明)共识机制”
区块链去中心化的生命之源:"DPOS(委托权益证明)共识机制" 原创2018-04-24[水伯]战略忽悠局政委水伯 移动网络时代唯一壁垒就是认知,周二有约给思想洗澡让认知破壁! D ...
- spring和mybatis整合:使用xml方式
文章目录 spring和mybatis整合:使用xml方式 1. 创建数据库 2. 创建工程,pom.xml文件如下: 3. 依赖下载地址如下: 4. 配置mybatis的全局配置,在resource ...
- 浅析去中化区块链游戏资产交易平台
资产本身就已经具备交易能力: 基于以太坊区块链去中心化的游戏厂商,在开发游戏角色.道具等资产时,所编写的智能合约本身就支持了角色.道具等资产转移功能,也就是在以太坊区块链上运行的智能合约游戏资产本身就 ...
最新文章
- 特斯拉到底颠覆了什么?
- 连续投影算法_出货量第一,专利300+,极米科技如何成为“投影一哥”?
- [BZOJ1502]月下柠檬树(自适应辛普森积分)
- 【Java从入门到头秃专栏 】(三) 控制流程 Math Date DateFormat Calendar System BigDecimal Random
- 今天1024程序猿节啦!一起穿格子衫上班吧
- 机器学习(十二)朴素贝叶斯分类
- spark sql 优化心得
- 【ASP.NET Web API教程】5.2 发送HTML表单数据:URL编码的表单数据
- pclint 与vs2010结合识别预处理器定义
- PHP实现添加到错题本,制作错题本的步骤、使用方式及窍门!
- LightOj 1336(Sigma Function)
- 大写字母转换成小写字母
- postgresql 手动启动_PostGreSql 手动安装
- MATRIX FACTORIZATION TECHNIQUES FOR RECOMMENDER SYSTEMS论文笔记;推荐系统中的矩阵分解(MF)
- java下载网站图片代码_java下载网上的图片到本地
- 监听器之jp@gc详解
- 电话激活Windows 中文操作系统步骤
- 使用Win7 PE安装Win 7原版系统图解
- Web前端开发之HTML篇
- C语言练习题(n个自然数的立方和)
热门文章
- The user specified as a definer (‘root‘@‘%‘) does not exist
- 计算机考试公平吗,网上阅卷系统运用于小学生考试中公平吗
- 转转革新二手交易模式 推动共享经济升级
- IPSec VPN的原理与配置
- C#toolStrip使用
- 计算机基础,小白必读
- bzoj1911 [Apio2010]特别行动队
- [导入]让中国人脸红!崔永元“套”老外“套”出的震撼
- 软件测试(手工)方法汇总
- 这几个小众品牌,时髦好穿不撞衫!