- 博客(10)
- 收藏
- 关注
原创 mybatis插件
在insert操作时,会将createTime,createUser,updaetTime,updateUser字段,填充上想要的值。执行时间大于slowSqlCost的sql,会被打印到日志里面,打印的具体内容包括执行的sql,传参,以及执行的方法。在update操作时,将updateTime和updateUser字段,填充上想要的值。字段名和对应字段值,可处理成自己业务中实际想要的。
2024-07-24 16:28:34 158
原创 Transactional注解和Mybatis事务实现
createTransactionIfNecessary()在该方法里面,会将当前数据源存储在TransactionSynchronizationManager.resources成员变量里面,是个ThreadLocal。TransactionAspectSupport.invokeWithinTransaction()事务注解核心方法。TransactionAspectSupport.invokeWithinTransaction()事务注解核心方法。
2024-06-19 17:06:25 285
原创 SpringBoot与Mybatis中一条select语句的执行过程(下)
核心是final Object value = mapping.typeHandler.getResult(rsw.getResultSet(), mapping.column);获取到的value值,通过metaObject.setValue(mapping.property, value);处理完结果后,一步步返回,来到DefaultResultSetHandler.handleRowValuesForSimpleResultMap里面。testMapper.select就有了值,输出正确结果。
2024-06-10 17:54:15 393 1
原创 SpringBoot与Mybatis中一条select语句的执行过程(上)
newStatementHandler会去创建StatementHandler,RoutingStatementHandler里面有个delegate,对应的是实际StatemenHandler,在默认配置下是PreparedStatementHandler。executoryType是SIMPLE,枚举类型有三种,分别是SIMPLE(简单,默认),BATCH(批量)和REUSE(重用)判断是否有RowBounds(分页相关参数),可以用以下写法来触发hasRowBounds判断。
2024-06-09 17:31:13 761
原创 SpringBoot与Mybatis的一级缓存
codeentitycodeentityCachingExecutor.query()方法CachingExecutor是Mybatis二级缓存处理逻辑,默认配置下断点也会进入这里,createCacheKey用来生成缓存的key。根据代码可以看到key与ms的id属性(即:com.xxx.xxxMapper.getAll),分页参数,以及要执行的sql语句有关。接着来到CachingExecutor.query()重载方法BaseExecutor的query()方法。
2024-06-08 13:13:03 361
原创 日志管理模块使用Aop使用Request获得前端的传参
日志管理模块是一个常见的功能模块。本文主要就参数获取部分展开,获取之后的存库或其他操作,各位看客可自行选择,本文不进行讨论。/*** 增加reqeust* application/json传 body获取及inpustream增加} };} }定义final byte[] 的body来解决inpustream只能使用一次的问题。/*** body 获取) {= null) {} }
2023-06-14 11:05:11 1694 1
原创 Jackson自动将null对象转为默认值,将Js处理不了大数字转为字符串
SpringBoot开发中,接口返回值中将null对象转成对应的默认值。例如String转为空字符串,Integer转为0SpringBoot项目中,默认使用的是Jackson来进行json序列化,本文对json进行属性配置来完成该功能。另外会讲两个主要功能封装成配置类,可以在yml文件中进行开启或关闭。以上就是今天要讲的内容,本文仅仅简单介绍了Jackson在SpringBoot中的一个使用,而这个使用也可以方便前端对象的一个处理和使用。
2023-06-11 17:59:34 1658
原创 Maven配置镜像,在Idea里面配置Maven
配置Maven镜像,提高jar包下载的速度找到自己的Maven地址,在conf文件里面修改setting.xml文件在里面添加如下:在这里插入<mirrors> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/co
2021-08-03 17:33:06 145 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人