2022
09-29
09-29
基于mybatis-plus timestamp返回为null问题的排除
目录问题是这样的数据库里的数据如下图表结构如下图handleResultSets的完整代码为通过代码跟踪,发现如下代码继而发现如下的核心代码通过断点发现以下数据再通过跟踪发现了如下代码直到看到这里问题是这样的在开发时,为了节约时间,我选择了mybatis框架来开发,然后又在网上找了一个许多人都推荐的mybatis-plus来作为持久层框架。于是乎我按照官方的DEMO下了一个springBoot的mybatis-plus版本的DEMO这个DEMO是基于H2数据库的,跑了...
继续阅读 >
目录 1 MyBatisPlusConfig2 UserPagination3Mapper3.1UserMapper.java3.2UserMapper.xml4Service4.1UserService4.2 UserServiceImpl5 UserController6调试结果 6.1 QueryWrapper查询分页6.2 SQL查询分页 1 MyBatisPlusConfigMyBatisPlus配置类。packagecom.config;importcom.baomidou.mybatisplus.annotation.DbType;importcom.baomidou.mybatisplus.extension...
目录1.什么是ActiveRecord(AR)?2.通过AR实现CRUD1.1insert1.2update1.3delete1.4select1.什么是ActiveRecord(AR)?ActiveRecord是什么:每一个数据库表应该对应创建一个实体类,类的每一个对象的实例对应于数据库中表的一行记录;通常表的每个字段在类中都有相应的方法Field;ActiveRecord负责把自己持久化.在ActiveRecord中封装了对数据库的访问,通过对象自己实现CRUD,实现优雅的数据库操作。ActiveRe...
目录一、通用枚举二、声明通用枚举属性三、配置扫描通用枚举四、注意、注意、注意一、通用枚举解决了繁琐的配置,让mybatis优雅的使用枚举属性!按我的理解是维护在内存中且不易修改的轻量级字典。目前觉得这个功能的使用场景相对有限,但是如果有用到的话开箱即用也是很棒的。废话不多说,接下来让我们看一下它的实际效果吧。一般搜索用户信息列表,列如用户有禁用和启用两个状态@DatapublicclassUserimplementsSerializabl...
记录查找自动组拼SQL语句的过程首先在BaseMapper其中的一个方法下打个断点在断点显示的值栏找到相关的SQL发现SQL语句在MappedStatement对象中,而sqlSource存的就是相关的sql语句然后在MappedStatement这个对象打断点,看看到底是哪个对象对它进行了操作发现是AutoSqlInjector创建了MappedStatement在AutoSqlInjector对象找到与selectById相关的一个方法,打断点SqlSource果然在这里创建出来了,createSqlSource就是具体过程,然后...
目录一、背景1.1传统Mybatis的弊端1.2MyBatis-Plus的定位1.3特性1.4原理解析二、准备工作2.1基础接口BaseMapper2.2创建实体类对象2.3业务接口UserMapper2.4测试用例三、SQL语句存储在哪里?四、SQL语句是什么时候注入的?4.1AbstractMethod.addMappedStatement4.2AbstractMethod.inject五、SQL语句是怎么生成的?5.1SQL模板5.2SqlSource5.3数据库表信息是如何获取的?六、mapper文件被添加的过程七、总结7.1流程梳理...
目录一、初始化SpringBoot项目二、创建数据表三、在application.yml中配置mysql信息四、编写用于测试的实体类五、编写操作实体类的Mapper类六、启动类中扫描Mapper类七、写一个测试类八、配置日志九、遇到的两个坑十、总结一、初始化SpringBoot项目首先使用SpringInitializer脚手架初始化一个SpringBoot项目。然后在pom.xml中添加相关的依赖:<dependency><groupId>mysql</groupId><artifactId>mysql-c...
前言完整的源代码已经上传到CodeChina平台上,文末有仓库链接🤭技术栈前端htmlThymleafJquery后端SpringBootShiroRedisMybatis-Plus需求分析有1和2用户,用户名和密码也分别为1和2,1用户有增加和删除的权限,2用户有更新的权限,登录的时候需要验证码并且需要缓存用户的角色和权限,用户登出的时候需要将缓存的认证和授权信息删除。数据库E-R图设计其实就是传统的RBAC模型,不加外键的原因...
业务需求:在前端界面选择开始时间、结束时间,后台根据拿到的开始、结束时间去数据库中查询该段时间的数据集返回给前端界面。1、前端我使用的是elementUI和vue框架,最好是在前端界面进行一个简单的校验规则,对比一下开始时间和结束时间的大小,校验的代码很简单,直接在触发查询按钮的函数前面加入校验即可。代码如下:if(this.StafPsnClctDetlDFormQuery.startTime>=this.StafPsnClctDetlDFormQuery.endTime){this...