背景

使用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带多条件的多表联合、分页、排序查询相关推荐

  1. java 索取了多表联合查询分页,mybatis-plus多表联合分页查询

    1.entity层要写个Vo实体类 2.controller @AutoLog(value = "员工CURD-分页列表查询") @ApiOperation(value=" ...

  2. Spring Data Jpa多表联合分页查询

    参考:https://blog.csdn.net/qq_36144258/article/details/80298354 近期一个项目用到Spring Data Jpa,Jpa用来做单表查询非常的简 ...

  3. mysql带where条件导出数据表以及部分错误解析

    一.前言 最近导出数据表的时候,屡屡受挫,让博主一度以为自己记错了,死活导不出来,后来才看到报错: mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_ ...

  4. MyBitis(iBitis)系列随笔之五:多表(一对多关联查询)

    MyBitis(iBitis)系列随笔之一:MyBitis入门实例 MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM) MyBitis(iBitis ...

  5. 11、mysql数据表中数据的查询(3)

    说一下子查询,子查询的意义就是使用一个查询语句做为另一个查询语句的条件,一般使用exists和in来引导子查询 exists子查询 exists 放在 where 之后使用,可以看成查询数据所满足的一 ...

  6. mybatis动态查询(分页排序搜索)+分解关联查询+Logback 日志配置(打印sql到控制台)+mybatis新增记录后返回自增的id。批量=11/2~11/20

    一.mybatis动态查询(分页排序搜索) mybatis框架分页实现,有几种方式,最简单的就是利用原生的sql关键字limit来实现,还有一种就是利用interceptor来拼接sql,实现和lim ...

  7. Mybatis系列(三):Mybatis实现关联表查询

    原文链接:http://www.cnblogs.com/xdp-gacl/p/4264440.html 一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 ...

  8. Javaweb15==mysql+mybatis+servlet+axios+fasetjson+vue+elementUI前后端分离,实现列表后端分页、模糊查询后分页、新增、单一/批量删除、修改

    难点:模糊查询后再次分页,并可以选择页数. 最终环境配置: maven3.8:依赖包管理 IDEA2021+JDK8+mysql connector java5+Mysql5+mybatis3.5:从 ...

  9. java毕业设计公益组织登记与查询系统mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计公益组织登记与查询系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计公益组织登记与查询系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目 ...

最新文章

  1. 前端Vue学习之路(五)插件的使用
  2. (三)java的数据类型
  3. Matlab元胞数组操作
  4. java自定义一个方法,用于返回两个整数的和
  5. MFCC里面的log energy和matlab实现
  6. Carrot2 in action_初试身手—融入自己的中文分词器
  7. FPGA零基础学习:SDR SDRAM 驱动设计
  8. ORA-12162: TNS:net service name is incorrectly specified 错误解决
  9. 计算机标准红色,标准红色cmyk值
  10. 面试你对计算机未来三年内规划,2019农商银行面试:谈谈你未来3年的规划
  11. 脉聊社交网站源码类似微博的社交源码 模板UI非常漂亮自适应手机版 重点是有原生APP
  12. html颜色奶白色,象牙白rgb值是多少 和乳白哪个更白
  13. GPS原理与接收机————全球定位系统(GPS)基础知识
  14. 【翻译】 Unity3D VR 教程:3.VR中的交互
  15. logistic回归的应用
  16. 【观察】加速IPFS基础设施落地,西部数据的三重独特优势
  17. TensorFlow报错:AttributeError: module 'tensorflow._api.v1.train' has no attribute 'SummaryWriter'等
  18. 5年测试经验对行业的认知
  19. android直播切换浮窗,直播悬浮窗怎么设置
  20. UML测试题(UML基础)

热门文章

  1. 台式电脑组装机相关知识之电源篇
  2. 赛迪重磅发布《2030中国汽车电子产业发展前景分析》
  3. ul阻燃标准有几个等级_ul94阻燃等级标准[最新]
  4. python+poencv获取图片中的多个数字
  5. 制造焦虑的医美平台,打碎医美行业的“信任之镜”
  6. MathType公式编辑器右边选项变灰
  7. 金融危机 CIO增加预算力求IT安全
  8. Python数据分析与挖掘实战——第三章
  9. 供水管网微观水力模型
  10. 哪里可以免费听到周杰伦的歌曲?请看这里,教你免费听歌