草庐IT

【操作日志】如何在一个SpringBoot+Mybatis的项目中设计一个自定义ChangeLog记录?

  设计一个业务改动信息时的自定义记录,例如新增、修改、删除数据等。并且记录的规则可以通过配置的方式控制。大家需要根据各自业务场景参考,欢迎讨论。伪代码如下:实体类:@TableName("tbl_user")User{StringidStringnameIntegerageStringaddr} DAO层:UserDao{getById(Longid);list(Wrapperwrapper);}  自定义注解:MybatisPropAnno{  Stringvalue  ClassdaoClazz} Http接口请求参数:SaveReq{@MybatisPropAnno(value="na

关于mybatis-plus中Ipage 、page 和pageUtils中的区别

   在使用人人开源框架的时候,通过逆向工程自动生成了分页功能,然而在使用的时候经常被关于Ipage和page等对象搞混,所以记录这篇文章用来介绍之间的区别@OverridepublicPageUtilsqueryPage(Mapparams){IPagepage=this.page(newQuery().getPage(params),newQueryWrapper());returnnewPageUtils(page);}可以看见上面就是逆向工程帮忙生成的分页方法里面出现了三个对象pageUtils、page和Ipage先来将pageUtils吧,pageUtils是人人代码自己存在的一个

Mybatis | Mybatis 一级缓存、二级缓存、三级自定义缓存(Redis)

Mybatis一级缓存、二级缓存、三级自定义缓存Redis实现一、Mybatis缓存二、一级缓存SqlSession级别1.如何开启一级缓存2.什么时候清除缓存?3.什么时候缓存失效?4.存在的问题5.查询加事务与不加事务三、二级缓存Mapper级别1.开启二级缓存2.缓存清除3.存在的问题四、三级缓存第三方自定义缓存(这里用Redis实现)1.使用Mybatis整合Redis实现分布式缓存五、总结一、Mybatis缓存Mybatis为什么要有缓存?       Mybatis提供缓存当然是为了减少了与SQL数据库的I/O交互,提升查询效率。       在Mybatis中存在两种缓存,一级缓

Mybatis | Mybatis 一级缓存、二级缓存、三级自定义缓存(Redis)

Mybatis一级缓存、二级缓存、三级自定义缓存Redis实现一、Mybatis缓存二、一级缓存SqlSession级别1.如何开启一级缓存2.什么时候清除缓存?3.什么时候缓存失效?4.存在的问题5.查询加事务与不加事务三、二级缓存Mapper级别1.开启二级缓存2.缓存清除3.存在的问题四、三级缓存第三方自定义缓存(这里用Redis实现)1.使用Mybatis整合Redis实现分布式缓存五、总结一、Mybatis缓存Mybatis为什么要有缓存?       Mybatis提供缓存当然是为了减少了与SQL数据库的I/O交互,提升查询效率。       在Mybatis中存在两种缓存,一级缓

多种方法解决Expected one result (or null) to be returned by selectOne(), but found: x 的错误

文章目录1.复现错误2.分析错误3.解决问题4.文章备注1.复现错误今天,测试小姐姐告诉我,测试环境的后台管理系统的首页报错了,并发过来如下的一张图:由于,不能修改测试环境的数据库,只能备份测试环境的数据库,然后复制到我本地。鼠标置于备份上,右键选择还原备份,点击开始即可,如下图所示:【注意事项】,还原备份会替换掉当前数据库已有的数据,这个要谨慎执行。备份到我本地后,使用本地的Knife4j,来测有问题的接口,如下图所示:果然出现了异常,即org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.e

多种方法解决Expected one result (or null) to be returned by selectOne(), but found: x 的错误

文章目录1.复现错误2.分析错误3.解决问题4.文章备注1.复现错误今天,测试小姐姐告诉我,测试环境的后台管理系统的首页报错了,并发过来如下的一张图:由于,不能修改测试环境的数据库,只能备份测试环境的数据库,然后复制到我本地。鼠标置于备份上,右键选择还原备份,点击开始即可,如下图所示:【注意事项】,还原备份会替换掉当前数据库已有的数据,这个要谨慎执行。备份到我本地后,使用本地的Knife4j,来测有问题的接口,如下图所示:果然出现了异常,即org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.e

SpringBoot -02 SpringBoot整合Mybatis、Druid数据源、单元测试、JSP

SpringBoot整合Mybatis、Druid数据源、单元测试、JSP1整合Mybatis1.1导入依赖1.2SpringBoot配置1.3启动类加注解1.4编写service层代码1.编写controller层代码1.6测试2整合Druid数据源2.1导入依赖2.2修改配置文件2.3**Druid连接池后台监控**3整合单元测试3.1导入依赖3.2编写单元测试类4整合JSP4.1导入依赖4.2创建JSP页面4.3springmvc前缀和后缀配置4.4编写Controller1整合Mybatis1.1导入依赖mybatis起步依赖mysql启动依赖dependencies>dependen

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序

管理后台的Vue3版本采用vue-element-plus-admin,Vue2版本采用vue-element-admin管理后台的移动端采用uni-app方案,一份代码多终端适配,同时支持APP、小程序、H5!后端采用SpringBoot、MySQL+MyBatisPlus、Redis+Redisson数据库可使用MySQL、Oracle、PostgreSQL、SQLServer、MariaDB、国产达梦DM、TiDB等权限认证使用SpringSecurity&Token&Redis,支持多终端、多种用户的认证系统,支持SSO单点登录支持加载动态权限菜单,按钮级别权限控制,本地缓存提升性能支

一文吃透Spring集成MyBatis

个人主页:几分醉意的CSDN博客_传送门文章目录💖集成思路✨怎么使用MyBatis✨集成的步骤✨pom加入依赖✨创建MyBatis使用代码✨创建Service类✨创建Spring配置文件和测试集成MyBatis✨使用外部属性配置文件💖图书推荐Java28岁了!这些好书推荐给你✨Java语言程序设计(原书第12版)✨Java核心技术(原书第11版)✨Java核心技术(原书第12版)✨培养Java编程思维✨EffectiveJava✨Java并发编程实战💖参加方式🚗投票(传送门)💖集成思路spring能集成很多的框架,是spring一个优势功能。通过集成功能,让开发人员使用其他框架更方便。集成使用

批量插入或更新数据(MyBatis-plus框架)

目录1.场景说明2.DUPLICATE 和REPLACE比较3.批量插入或者更新(两种方式)方式一:mybatis-plus的saveOrUpdateBatch方法问题:如果操作类集成了基础类,比如封装了BaseEntity去集成,那么这样使用会出问题方式二:onduplicatekey(推荐)4.注意5.常见问题 1.场景说明插入数据时,我们经常会遇到这样的情况:1、首先判断数据是否存在;2、如果不存在,则插入;3、如果存在,则更新需求:根据表中的部分字段去判断插入或者更新有一张表 hh_adx_monitor_summary ddl:CREATETABLE`hh_adx_monitor_s