java后台
文章平均质量分 71
sgambler
程序员好难,程序员的头发更难难难。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis使用opsFor系列 get读取报错InvocationTargetException
Redis使用opsFor系列get读取报错InvocationTargetException说明报错信息原因解决方案说明昨天还好好的redis取值突然报错,抛出的异常是风马牛不相及的 InvocationTargetException ,找了好久的原因,打了好久的断点,查了好久的百度,依然一无所获。。。最后自己都不知道是哪个关键词找到的这篇文章:RedisTemplate先在事务中使用,然后在非事务中使用,导致读操作不能立即读出数据正好是我的问题所在,但是大神码文的时候这个关键词定的实在是。。我原创 2021-01-06 15:47:11 · 1393 阅读 · 5 评论 -
mybatis-plus实现 相似实体类使用泛型操作同样的逻辑代码更新保存修改的方法
目录场景问题一、Entity准备二、具体泛型写法1. 实现类2.handleUserAssociat - 处理关联关系3.saveOrUpdateBatchUserAsos - 批量保存关联关系(重要)总结场景假设有3个类似的实体类,某处需要处理的业务逻辑(增删改)是一样的,业务还比较复杂,如果单独写,则需要写3个大致一样的长代码段,此处想利用泛型解决。问题相似的实体类有不同的字段,而泛型不能获取其属性方法,所以有些不好解决,尝试许久,终于可行,示例代码如下。PS:系统使用了mybatis原创 2020-07-16 18:05:33 · 3656 阅读 · 0 评论 -
mybatis plus坑之 - @TableField(typeHandler) 查询时不生效为null
目录一、场景二、问题三、排查步骤四、示例四、疑问一、场景实体中经常会有List类型的字段需要映射.mybatis plus有提供注解方式直接注入,传送门:传送门 - 字段类型处理器二、问题增删改能生效,但是保存数据的格式异于平常,且查询失效。我的操作如下:1.自定义类JacksonTypeHandler,由于想要一次性解决所有的映射,所以这里我写成了 @MappedTypes({Object.class})import com.baomidou.mybatisplus.core.exc原创 2020-06-23 14:36:00 · 56758 阅读 · 30 评论 -
swagger 动态显示枚举enums内容注释 只修改一次(自定义注解实现)
场景项目使用swagger去自动生成接口文档。当存在一个enum枚举时,会有很多vo和param的dto去引用它。此时,如果修改这个enum,相关联的很多dto和其他文件的注释description就需要关联修改,否则就会造成前后端掌握的枚举值不一致的情况。针对这种问题,我参考了前辈的文章《swagger 动态显示枚举内容 + 数值类型空指针异常统一控制》.给出了针对enum的swa...原创 2019-12-13 14:06:24 · 8219 阅读 · 4 评论 -
mybatis plus坑之 - updateById写法 导致 自动填充不生效
场景更新一个实体,只修改了普通字段值,对于自动填充的字段不生效。这个问题困惑了两天,经过各种尝试,终于得知解决办法(见最后一个代码块)。示例现假设场景是软删除,只更新deleted字段,需要modifyDate自动更新为最新时间。有以下两个字段做了自动填充: @ApiModelProperty("修改时间") @TableField(fill = FieldFill.INSERT_U......原创 2019-12-11 11:38:18 · 25004 阅读 · 9 评论 -
BeanUtil.copyProperties复制复杂对象List Map不生效
方案一:JSON复制亲测可行,据说比for循环效率高TARGET_BEAN= JSON.parseArray(JSON.toJSONString(SOURCE_BEAN), TARGET_BEAN.class);方案二:for循环略注:BeanUtil忽略空值复制方法import cn.hutool.core.bean.BeanUtil;import cn.hutool.core....原创 2019-12-10 10:58:22 · 3690 阅读 · 0 评论 -
@Transactional事务不生效
BeanUtil.copyProperties复制复杂对象List Map不生效方案一:使用JSON复制亲试可行,据说比for循环速度更快。TARGET_BEAN= JSON.parseArray(JSON.toJSONString(SOURCE_BEAN), SOURCE_BEAN.class);方案二:使用for循环复制略注:使用如下方法可忽略空值复制BeanUtil.copy...原创 2019-12-10 10:39:14 · 467 阅读 · 0 评论
分享