mybatis plus 查询排序,Mybatis Plus带多条件的多表联合、分页、排序查询
背景
使用mybatis-plus单表操作十分方便,但是多表联合查询感觉又回归到xml时代了,我个人比较喜欢注解的方式,但是xml要更灵活
问题点:多表多条件联合查询
时间段查询
分页查询
springboot配置文件
需要注意的是allowMultiQueries=true 允许多个sql并列执行,否则无法完成同时获取total的数据spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:${DATASOURCE_DBTYPE:mysql}://${DATASOURCE_HOST:*******}:${DATASOURCE_PORT:3306}/test?characterEncoding=UTF-8&useUnicode=true&useSSL=false&allowMultiQueries=true
username: ${DATASOURCE_USERNAME:*****}
password: ${DATASOURCE_PASSWORD:******}
mybatis-plus:
configuration:
map-underscore-to-camel-case: true
global-config:
db-config:
logic-delete-value: "Y" # 逻辑已删除值(默认为 Y)
logic-not-delete-value: "N" # 逻辑未删除值(默认为 N)
mapper-locations: classpath:xml/*.xml
Configuration配置类import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@Configuration
@MapperScan("com.springboot.mybatis.mapper")
public class MybatisConfig {
/**
* 初使化Mybatis审计字段自动赋值的interceptor
*/
@Bean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
mapper.xml文件
parameterType="com.springboot.dao.Select.TestSelect" resultType="java.util.List">
SELECT SQL_CALC_FOUND_ROWS
`user`.`id` AS `id`,
`user`.`name` AS `name`,
`user`.`created_time` AS `createdTime`,
`user`.`created_by` AS `createdBy`,
`class`.`classid` AS `classid`,
`class`.`classname` AS `classname`
FROM
( `user` JOIN `class` on `user`.`classid` = `class`.`id`)
1=1
AND `user`.`name` LIKE CONCAT('%',#{name},'%')
AND `class`.`num` = #{numm}
AND `user`.`created_time`>= #{createdTimeStart}
AND `user`.`created_time` <= #{createdTimeEnd}
ORDER BY `user`.`created_time` DESC
LIMIT
#{current},#{size};
SELECT FOUND_ROWS();
mapper.java文件
@Repository
@Mapper
public interface TestMapper extends BaseMapper {
List> findResultByInfo(TestSelect select);
}
查询条件实体类
@Data
public class TestSelect {
private String name;
private String classname;
private String createdTimeStart;
private String createdTimeEnd;
private Integer current;//第几页 从1开始
private Integer size;//每页几个数据
}
mybatis plus 查询排序,Mybatis Plus带多条件的多表联合、分页、排序查询相关推荐
- java 索取了多表联合查询分页,mybatis-plus多表联合分页查询
1.entity层要写个Vo实体类 2.controller @AutoLog(value = "员工CURD-分页列表查询") @ApiOperation(value=" ...
- Spring Data Jpa多表联合分页查询
参考:https://blog.csdn.net/qq_36144258/article/details/80298354 近期一个项目用到Spring Data Jpa,Jpa用来做单表查询非常的简 ...
- mysql带where条件导出数据表以及部分错误解析
一.前言 最近导出数据表的时候,屡屡受挫,让博主一度以为自己记错了,死活导不出来,后来才看到报错: mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_ ...
- MyBitis(iBitis)系列随笔之五:多表(一对多关联查询)
MyBitis(iBitis)系列随笔之一:MyBitis入门实例 MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM) MyBitis(iBitis ...
- 11、mysql数据表中数据的查询(3)
说一下子查询,子查询的意义就是使用一个查询语句做为另一个查询语句的条件,一般使用exists和in来引导子查询 exists子查询 exists 放在 where 之后使用,可以看成查询数据所满足的一 ...
- mybatis动态查询(分页排序搜索)+分解关联查询+Logback 日志配置(打印sql到控制台)+mybatis新增记录后返回自增的id。批量=11/2~11/20
一.mybatis动态查询(分页排序搜索) mybatis框架分页实现,有几种方式,最简单的就是利用原生的sql关键字limit来实现,还有一种就是利用interceptor来拼接sql,实现和lim ...
- Mybatis系列(三):Mybatis实现关联表查询
原文链接:http://www.cnblogs.com/xdp-gacl/p/4264440.html 一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 ...
- Javaweb15==mysql+mybatis+servlet+axios+fasetjson+vue+elementUI前后端分离,实现列表后端分页、模糊查询后分页、新增、单一/批量删除、修改
难点:模糊查询后再次分页,并可以选择页数. 最终环境配置: maven3.8:依赖包管理 IDEA2021+JDK8+mysql connector java5+Mysql5+mybatis3.5:从 ...
- java毕业设计公益组织登记与查询系统mybatis+源码+调试部署+系统+数据库+lw
java毕业设计公益组织登记与查询系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计公益组织登记与查询系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目 ...
最新文章
- 前端Vue学习之路(五)插件的使用
- (三)java的数据类型
- Matlab元胞数组操作
- java自定义一个方法,用于返回两个整数的和
- MFCC里面的log energy和matlab实现
- Carrot2 in action_初试身手—融入自己的中文分词器
- FPGA零基础学习:SDR SDRAM 驱动设计
- ORA-12162: TNS:net service name is incorrectly specified 错误解决
- 计算机标准红色,标准红色cmyk值
- 面试你对计算机未来三年内规划,2019农商银行面试:谈谈你未来3年的规划
- 脉聊社交网站源码类似微博的社交源码 模板UI非常漂亮自适应手机版 重点是有原生APP
- html颜色奶白色,象牙白rgb值是多少 和乳白哪个更白
- GPS原理与接收机————全球定位系统(GPS)基础知识
- 【翻译】 Unity3D VR 教程:3.VR中的交互
- logistic回归的应用
- 【观察】加速IPFS基础设施落地,西部数据的三重独特优势
- TensorFlow报错:AttributeError: module 'tensorflow._api.v1.train' has no attribute 'SummaryWriter'等
- 5年测试经验对行业的认知
- android直播切换浮窗,直播悬浮窗怎么设置
- UML测试题(UML基础)