草庐IT

MybatisPlus

全部标签

MybatisPlus的联表分页查询+动态拼接主子表条件

问题:使用mybatis-plus进行列表分页查询数据时(多表联查),如果查询条件是子表的时候,或者显示的字段是子表的字段,我们应该怎么办?一、我们先看看常规的查询是怎么实现的,这里的表关系是:一个user表对应多个car表(car的pkUser字段与user的id关联)1.单表的分页查询(string是前端传的条件,然后我们动态的拼接wrapper。)注:这里应该是遍历json数据,然后才动态拼接wrapper,这里就略过了2.多表的分页查询(先查主表然后再查子表)3.多表的分页查询,子表条件(先根据子表条件查询子表,然后把主表id提取出来,拼接到wrapper中,这样就实现了子表条件动态拼

Elasticsearch使用——结合MybatisPlus使用ES & es和MySQL数据一致性 & 结合RabbitMQ实现解耦

前言本篇博客是一篇elasticsearch的使用案例,包括结合MybatisPlus使用ES,如何保证MySQL和es的数据一致性,另外使用了RabbitMQ进行解耦,自定义了发消息的方法。其他相关的Elasticsearch的文章列表如下:Elasticsearch的Docker版本的安装和参数设置&端口开放和浏览器访问Elasticsearch的可视化Kibana工具安装&IK分词器的安装和使用Elasticsearch的springboot整合&Kibana进行全查询和模糊查询目录前言引出结合MybatisPlus使用ES1.引入依赖2.进行配置3.实体类上加入注解4.创建操作的Rep

MybatisPlus显示Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required异常问题

在构建SpringBoot项目+Mybatis时,出现Property'sqlSessionFactory'or'sqlSessionTemplate'arerequired异常,经过多次试错和求证,发现是Springboot版本和mybatisplus版本不适配的问题。1.SpringBoot版本3.0以下可以降低MybatisPlus版本至3.5.3版本以下,重新构建项目1.引入必要的mysqlJar包官方链接:MySQL::DownloadConnector/Jhttps://dev.mysql.com/downloads/connector/j/ 2.引入依赖com.baomidoum

mybatisplus开启sql打印的三种方式

 1、在application.yml文件中添加mybatisplus的配置文件    使用mybatisplus自带的log-impl配置,可以在控制台打印出sql语句、执行结果的数据集、数据结果条数等详细信息,这种方法适合再调试的时候使用,因为这个展示的信息详细,更便于调试,查找问题进行优化。缺点就是如果执行的sql语句过多,则输出的日志就会很多,mybatis-plus:configuration:log-impl:org.apache.ibatis.logging.stdout.StdOutImpl#开启sql日志 2、在application.yml文件中使用log4j日志框架配置使

MybatisPlus中queryWrapper的or的使用

因为直接拼多个wrapper条件加or会产生数据混乱,需要使用and括号括起来or条件QueryWrapperqueryWrapper=newQueryWrapper();queryWrapper.and(wq->{wq.eq("bln_up_brh_id",brhId).or().eq("id",brhId);});这个就相当于and(bln_up_brh_id=brhIdorid=brhId)

MyBatisPlus查询时报错,Unknow column ‘id‘ in ‘field list‘,怎么解决?

在使用MyBatisPlus的selectById()方法查询数据时,报出了一个错误:java.sql.SQLSyntaxErrorExceptionCreatebreakpointUnknowncolumn'id'in'fieldlist'atcom.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)~[mysql-connector-java-8.0.22.jar:8.0.22]atcom.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQ

【业务功能篇76】微服务网关路由predicates断言条件-filters路由转换地址-跨域问题-多级目录树化层级设计-mybatisPlus逻辑删除

业务开发-基础业务-分类管理启动renren-fast如果出现如下错误-Djps.track.ap.dependencies=false添加相关配置即可分类管理1.后端分类接口JDK8特性:https://blog.csdn.net/qq_38526573/category_11113126.html在后端服务中我们需要查询出所有的三级分类信息,并将这些信息组合为有父子关系的数据,所以首先我们需要在对应的entity中添加关联字段childrens /** *当前类别所拥有的所有的子类 */ @TableField(exist=false) privateListCategoryEntity>

SpringBoot 整合 MyBatisPlus

一、整合MyBatisPlus1.导入依赖dependency>groupId>com.baomidougroupId>artifactId>mybatis-plus-boot-starterartifactId>version>3.5.1version>dependency>2.配置文件spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=UTF-8username:rootpasswo

SpringBoot与MybatisPlus SpringBoot

一、SpringBoot介绍1.1 Spring缺点分析Spring是一个非常优秀的轻量级框架,以IOC(控制反转)和AOP(面向切面)为思想内核,极大简化了JAVA企业级项目的开发。虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。使用Spring进行项目开发需要在配置文件中写很多代码,所有这些配置都代表了开发时的损耗。除此之外,Spring项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。比如Spring5.0以上只能使用Junit

Caused by: java.lang.NoClassDefFoundError: com/baomidou/mybatisplus/annotation/SqlParser 处理方案

主要是依赖冲突导致的,一般如果是正常的导入依赖是比较好定位的,列如:com.baomidoumybatis-plus-boot-starter3.4.2com.baomidoumybatis-plus-core3.4.2com.baomidoumybatis-plus-extension3.4.2只要统一它们的版本就能处理了。但是我就碰到了几次是用代码生成器的依赖导致的,列如:com.github.davidfantasymybatis-plus-generator-ui2.0.0test一般碰到代码生成器的依赖的时候,项目启动的时候直接注释掉代码生成的依赖即可,因为我们多数都是在test里面