
mybatis plus
1
fastjson_
这个作者很懒,什么都没留下…
展开
-
Mybatis-Plus代码生成器AutoGenerator生成的字段乱序解决方法
5原创 2022-08-13 16:22:55 · 995 阅读 · 0 评论 -
mybatis在xml中的大于,小于等符号写法
第一种写法:原符号 替换符号 < < <= <= > > >= >= & & ' ' " " 例如:sql如下:create_date_time >= #{startTime} and create_date_time <= #{endTi...原创 2021-12-22 14:14:24 · 2375 阅读 · 0 评论 -
Mybatis使用IN语句查询
一、简介在SQL语法中如果我们想使用in的话直接可以像如下一样使用:select * from HealthCoupon where useType in ( '4' , '3' )但是如果在MyBatis中的使用in的话,像如下去做的话,肯定会报错:Map<String, Object> selectByUserId(@Param("useType") String useType) <select id="selectByUserId" resultMap="B原创 2021-08-12 22:03:57 · 15183 阅读 · 2 评论 -
mybatis 批量更新update详解
1 更新单条记录UPDATE course SET name='course1'WHEREid='id1';2 更新多条记录的同一个字段为同一个值UPDATEcourseSETname='course1'WHEREidin('id1','id2','id3);3更新多条记录为多个字段为不同的值比较普通的写法,是通过循环,依次执行update语句。Mybatis写法如下:<update id="updateBatch" paramete...原创 2021-07-03 10:09:59 · 20944 阅读 · 1 评论 -
MyBatis-Plus updateById方法更新不了空字符串/null解决方法
一、原理在实际项目中,难免更新的时候,有可能会把已有的值更新成空字符串或者null,但是当你使用updateById()方法的时候,会发现根本不生效。这其实是MyBatis-Plus对字段的验证策略导致的,MyBatis-Plus默认进行了不是全量更新的策略,查阅官网发现有一个属性:因为笔者使用的是springboot,下面是mybatis-plus配置文件: mybatis-plus: global-config: #字段策略 0:"忽略判断",1:"非 NUL原创 2021-06-01 13:37:15 · 759 阅读 · 0 评论 -
mybatis传入的值为0时的判断
mybatis判断是否为空一般为:<if test="state!=null and state!=''">state = #{state}</if>但是如果传入的值为0,就不运行该条,因为mybatis默认0和""相等,要解决这个问题,可以把代码改为:<if test="state!=null and state!='' or state==0">state = #{state}</if>//或者把判断是否为空字符串去掉,变为:<原创 2021-02-27 09:41:40 · 633 阅读 · 0 评论 -
批处理 rewriteBatchedStatements=true
最近在优化大批量数据插入的性能问题。项目原来使用的大批量数据插入方法是Mybatis的foreach拼接SQL的方法。我发现不管改成Mybatis Batch提交或者原生JDBC Batch的方法都不起作用,实际上在插入的时候仍然是一条条记录的插,速度远不如原来Mybatis的foreach拼接SQL的方法。这对于常理来说是非常不科学的。下面先罗列一下三种插入方式:public class NotifyRecordDaoTest extends BaseTest { @Resourc原创 2020-09-15 11:06:03 · 1752 阅读 · 0 评论 -
mybatis的三种批量插入以及次效率比较
1.表结构CREATE TABLE `t_user` ( `id` varchar(32) CHARACTER SET utf8 NOT NULL COMMENT '主键', `name` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户名', `del_flag` char(1) CHARACTER SET utf8 DEFAULT NULL COMMENT '删除标示', PRIMARY KEY (`id`)) ENG原创 2020-09-12 16:53:16 · 871 阅读 · 0 评论 -
mybatis-plus 配置逻辑删除
逻辑删除开发系统时,有时候在实现功能时,删除操作需要实现逻辑删除,所谓欧吉删除就是将数据标记为删除,而并非真正的物理删除(非DELETE操作),查询时需要携带状态条件,确保被标记的数据不被查询,这样做的目的就是避免数据被真正的删除。一、引入依赖<!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus原创 2020-06-18 13:02:06 · 1335 阅读 · 0 评论 -
MybatisPlus 自动填充处理
创建时间和修改时间字段,这些都是自动完成的,我们就需要和其他字段区分设置。方式一:数据库级别(工作中不建议使用)在表中新增字段create_time,update_time然后修改实体类,新增两个字段 private Date createTime; private Date updateTime;再次执行更新操作,这里我执行了好几次,可以看到第一次创建和更新时间一致,之后就只有更新时间在变了方式二:代码级别首先你要把数据库中创建和更新时间的时间戳去掉,自原创 2020-06-18 12:58:16 · 794 阅读 · 0 评论