MybatisPlus的那些坑】的更多相关文章

目录 Mybatis-Plus 我来填坑~ 目录 一.简单介绍 官方说明 : 成绩: 最新版本: 开发层面MyBatis-Plus特色 Mybatis-Plus中的Plus 二.MP的特性 三.MP框架结构 四.简单的入门Demo(Mysql) 五.核心功能 核心一-简便之-代码生成器(AutoGenerator) 核心二 - 清晰之-CRUD接口 核心三 - 强大之 -Wrapper条件构造器 六.插件及扩展 Demo代码地址: 工程: 七 .总结 参考文档: Mybatis-Plus 我来填…
不要使用Mybatis原生的SqlSessionFactory,而应使用MybatisSqlSessionFactory. 原因 依赖关系如下 因此会在使用Mybaits-Plus时默认的时Mybatis原生的SqlSessionFactory 因为MybatisPlus中自定义了MybatisSqlSessionFactoryBean这个类,而这个类是实现了FactoryBean<SqlSessionFactory>, InitializingBean, ApplicationListene…
mapper接口方法返回IPage,如果不传page会报npe,底层assert page!=null有啥用?…
关于如何在Mybatis-Plus中添加SQL拦截器 之前ZeyFra在MyBatis-Plus[踩坑记录01]一文中提到过,使用Mybatis-Plus时最好使用MybatisSqlSessionFactory,而不是使用Mybatis原生的SqlSessionFactory,这也是官方文档的建议,也感兴趣的小伙伴可以自行前往查看. 业务需求 相信不少小伙伴在JavaEE的开发中会有这么一个需求,希望能够在执行insert或update的sql语句时程序能够自动的为我们在相应的字段上添加相应的…
这两天在学SpringBoot+MyBatis的开发,配置开发环境和DEMO的过程中踩了很多坑,在这里记录一下. 我的开发环境是idea + JDK 1.8.0.211. 首先展示一下demo的项目整体结构 如图,涉及到的主要部分先后分别是pom.xml, application.yml, DoLearnApplication.java, User.java, UserMapper.java, UserMapperTest,其余部分由IDE自动完成. 依赖 核心依赖分为三部分 Spring-Bo…
学习使用mybatis-plus的自动填充功能,对create_time和update_time做一个自动填充,期间碰到了一些问题,记录一下问题和相关代码 在实体类字段上增加注解@TableField(fill = FieldFill.INSERT)或者@TableField(fill = FieldFill.UPDATE) 添加MyMetaObjectHandler类(名字可自定义,注意要实现MetaObjectHandler类) 这块有个坑,要注意字段类型,mybatis-plus在时间上默…
部分情况可以参考https://blog.csdn.net/wwrzyy/article/details/86034458 我的问题出现的根本原因就是没有扫描到mapper的xml文件 因为MyBatis与MyBatis-plus配置不同 我在切换后,没有写MyBatis-plus的配置,只是保留了MyBatis的配置 mybatis: config-location: classpath:mybatis/mybatis-config.xml mapper-locations: classpat…
原创/朱季谦 某天检查一位离职同事写的代码,发现其对应表虽然设置了AUTO_INCREMENT自增,但页面新增功能生成的数据主键id很诡异,长度达到了19位,且不是从1开始递增的-- 我检查了一下,发现该表目前自增主键已经变成从1468844351843872770开始递增了-- 这就很奇怪了,目前该表数据量很少,且主键是设置AUTO_INCREMENT,正常而言,应该自增id仍在1000范围内,但目前已经变成一串长数字. 底层ORM框架用的是Mybatis-Plus,我寻思了一下,这看起来像是…
先放一张表生成策略对应的结果 值 描述 DEFAULT 默认不处理 INSERT 插入时填充字段 UPDATE 更新时填充字段 INSERT_UPDATE 插入和更新时填充字段 此处需要注意一下,如果MyBatisPlus中有一些公共字段例如修改时间,创建时间,乐观锁等等 创建是采用INSERT方案 修改时采用UPDATE 在修改时注意,使用MyBatis-Plus的update方法,传入QueryWrapper或者直接传null 用updateById会出现策略不生效的情况 贴上实现生成策略接…
1.TStaffDepart 属性有值是才匹配条件,会报错,相当于mybatis if 判断 eg:TStaffDepart staffDepart = new TStaffDepart();staffDepart.setDepartName(null);System.out.println(this.baseMapper.selectOne(staffDepart)); 2.用 EntityWrapper + TStaffDepart,会查到多个,取第一条,报警告,条件为null时,相当于my…