202012-02 Mybatis plus逻辑删除失败的BUG操作 开发调试的时候发现MybatisPlus的逻辑删除失效了,看了下配置文件发现没有问题,通过查看以下源码发现逻辑删除需要注入的bean,查看这个bean的源码如下查看其中一个实例的类的源码,如通过ID逻辑删除LogicDeleteById的源码,如下mp在项目启动时预加载SQL是通过TableInfo中logicDelete字段判断是否开启逻辑删除的。然后让我们来看看mp内部是如何判断是否开启逻辑删除的。先看如下源码大概就是讲实体类中的字段进行循环映射数据库字... 继续阅读 >
202012-02 Spring Boot环境下Mybatis Plus的快速应用操作 一、简介Mybatis-Plus(简称MP)是一个Mybatis的一个增强工具,在Mybatis的基础上只做增强不做改变,为简化开发、提高效率而生。其愿景是成为Mybatis最好的搭档,将开发效率翻倍,由于受到学习研究深入限制,本例只进行MybatisPlus在SpringBoot环境下的基本应用(如Select、Insert、Update、Delete等基本操作,其中还包括动态生成组合查询与更新的动态SQL语句)。特性:无侵入:Mybatis-Plus在Mybatis的基础上进行扩展,... 继续阅读 >
202012-02 解决mybatis plus 一对多分页查询问题 最近用mybatisplus做项目,单表的增删改查都正常,做到1对多表的分页时,用resultMap返回的时候发现返回的记录和总数对不上返回的记录是一表的,二返回的总数是多表查了一下,这个或者是PLUS的bug大概的解决办法如下图:用collection,传参用column,我这里用了一个小技巧,把外面传入的参数,作为主表的column传入到从表。这里没找到其他方法,有其他方法可以评论告诉我补充知识:解决Mybatis-plus利用collection查询一对多... 继续阅读 >
202012-02 解决mybatis plus 分页查询有条数,total和pages都是零的问题 一.问题还原1.Controller代码部分Page<FixedAssetsEntity>pageForPlus=getPage();Page<FixedAssetsEntity>fixedAssetsEntityPage=fixedAssetsService.selectPage(pageForPlus);2.spring-mybatis.xml中的sqlSessionFactory配置<beanid="sqlSessionFactory"class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean"><!--配置数据源--><propertyname="dataSource"ref="dataSource"/><!--自动... 继续阅读 >
202011-25 MyBatis Plus更新对象无法设空值解决方案 原因因为MyBatis-Plus自带的更新方法,都有对对象空值进行判空。只有不为空的字段才会进行数据更新。解决方式在实体类对应的字段上加注解@TableField(strategy=FieldStrategy.IGNORED),忽略null值的判断,例如:@TableField(updateStrategy=FieldStrategy.IGNORED)privateStringaddress;示例:1、未加注解(无法设入空值,见代码结果)://实体privateStringaddress;@TestpublicvoidupdateUserTest(){Useruser=new... 继续阅读 >
202011-19 Springboot mybatis plus druid多数据源解决方案 dynamic-datasource的使用详解 依赖<dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>2.5.0</version></dependency><dependency><groupId>p6spy</groupId><artifactId>p6spy</artifactId><version>3.9.1</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.21</version></dependency><d... 继续阅读 >
202011-03 Mybatis Plus插件三种方式的逆向工程的使用 本文源码:GitHub·点这里||GitEE·点这里一、逆向工程简介在Java开发中,持久层最常用的框架就是mybatis,该框架需要编写sql语句,mybatis官方提供逆向工程,可以把数据表自动生成执行所需要的基础代码,例如:mapper接口,sql映射文件,pojo实体类等,避免基础代码维护的繁杂过程。在实际的使用中,常用的逆向工程方式如上,mybatis框架,mybatis-plus框架,插件方式。二、Mybatis方式1、基础描述基于xml配置的方式,生成mybat... 继续阅读 >
202010-20 mybatis plus怎么忽略映射字段 其实mybatisplus是比mybatis优秀的mybatis有的,他全有,它没的,或者不优秀的地方,mybatisplus全优秀,所以晚的总比早的好。今天要说的是:忽略字段问题,我被这个坑了好长时间,我开发项目呐有个需求是忽略数据库中字段,但是实体类还要有,我操,我目前的知识告诉我,@Transient这个是很好的选择,我操,我于是,开始搞,忘了说了,我的数据库中间件是mybatisplus,搞的我烦,先是看网上的,发现无论在字段上加还是在get方... 继续阅读 >
202010-10 解决mybatis plus 驼峰式命名规则问题 在我们使用mybatisplus时,mybatisplus可以帮我们自动封装我们的实体类用来查询添加,当我们遇见我们的尸体类名与我们的表字段是驼峰写法时: 我们在数据库的字段名也是userCode但是如果我们不设置mybstisplus默认的驼峰式编码在mybatisplus则会默认把驼峰式编码写成user_code,这种下划线格式的字段,这时你会发现你的代码会出错,它会提示你user_code字段不存在解决方案:springboot:1.appliction.yml里设置... 继续阅读 >
202010-10 mybatis Plus 多表联合查询的实现示例 本文主要介绍了mybatisPlus多表联合查询,分享给大家,具体如下://实体类packagecom.sk.skkill.entity;importcom.baomidou.mybatisplus.annotation.TableField;importcom.baomidou.mybatisplus.annotation.TableName;importlombok.Data;importjava.io.Serializable;importjava.util.Date;importjava.util.List;@TableName("orders")@DatapublicclassOrderimplementsSerializable{publicstaticfinallongserialV... 继续阅读 >
202010-10 MyBatis Plus 将查询结果封装到指定实体的方法步骤 思路自定义方法,使用Wrapper,自定义映射结果集Mapper接口packagecom.mozq.boot.mpsand01.dao;importcom.baomidou.mybatisplus.core.conditions.Wrapper;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom.baomidou.mybatisplus.core.toolkit.Constants;importcom.mozq.boot.mpsand01.pojo.OrderInfo;importcom.mozq.boot.mpsand01.vo.OrderVO;importorg.apache.ibatis.annotations.*;importjava.util.Li... 继续阅读 >
202010-10 mybatis-plus的自动填充时间的问题(添加到数据库的时间比当前时间多4个小时) 当前时间 sql语句 添加到数据库的时间先把打印的sql语句放到数据库里面去执行发现添加的时间是对的不断找2个小时终于发现问题所在了连接数据库时时区要写对我之前写的 useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC纠正后 autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8总结到此这篇关于mybatis-plus的自动填充时间的问题(添加到数... 继续阅读 >
202010-10 Mybatis Plus 字段为空值时执行更新方法未更新解决方案 问题描述系统测试过程中,同事测试出使用MybatisPlus提供的封装方法UpdateById()时,字段从前台传入的数据为空值,但是执行方法后该字段未得到更新。问题重现因涉及到公司层面的模型、数据,本文都为测试模型和例子。实体类:@Data@TableName("shop_item")publicclassShopItemimplementsSerializable{privatestaticfinallongserialVersionUID=1L;/***编号*/@TableId(type=IdType.INPUT)privateStringid;... 继续阅读 >
202010-10 mybatis plus 的动态表名的配置详解 mybatisplus简介详见mybatisplus的官网业务要求业务上要求存储数据的时候根据某个字段动态的选择数据要存储的表.如根据code字段:code->[1001,1002]来进行选择存储的表:经过下面的配置实现动态表名如-->table1_1001,table_1002的效果.以此动态生成表名的效果.具体实现MPConfig.javaimportcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importcom.baomidou.mybatisplus.extension.parsers.Dynamic... 继续阅读 >
202010-10 Mybatis Plus整合PageHelper分页的实现示例 MapperPlus自带分页PaginationInterceptor对象,虽然说目前没有什么问题,并且使用简单,但是个人感觉有个弊端:目前个人使用中,想要用MapperPlus自带的分页功能的话需要在mapper对象中传入一个Page对象才可以实现分页,这样耦合度是不是太高了一点,从web到service到mapper,这个Page对象一直都在传入,这样的使用让人感觉有点麻烦,但是MapperPlus不得不说真的是很好用的。PageHelper用过的人多多少少了解,这个框架要实现分... 继续阅读 >
202010-10 mybatis plus的3种查询方式(小结) 本文是基于springboot框架下的查询。 一:基本配置:1.仓库依赖<repositories><repository><id>alimaven</id><name>aliyunmaven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository></repositories><pluginRepositories><pluginRepository>... 继续阅读 >