- 博客(9)
- 收藏
- 关注
原创 记一次生产问题
通过skywalking看到一个慢sql,查看详情后发现是select * from table全表扫描,没有任何限制条件。select * from tableA<if test="a != null and a != ''"> and a = #{a} </if><if test="b != null and b != ''"> and b = #{b} </if>第一眼看代码用的mybatisPlus自动生成的sql,
2020-11-23 13:45:16 162 1
原创 mybatis传入Integer类型的0,到sql中被认为是null
修改前,status为Integer类型的0,但是可以发现被认为是null,导致此条件不会进入修改后:status为Integer类型的0,发现此条件正常进入,可以正常查询出结果。这应该是mybatis的一个小坑,数字0被认为是null...
2018-09-05 11:53:21 2067
原创 spring data jpa 复杂查询忽略大小写
今天和别的系统联调,改了个需求,之前的复杂查询中关键字查询需要加入忽略大小写。忽略大小写都是把要查的条件都转为大写或者小写,然后把数据库获得的数据同样转为大写或者小写再去比对。Page<Student> page = studentRepository.findAll(new Specification<Student>(Root<Student> root, ...
2018-06-25 15:43:45 7288
原创 spring boot+idea用bootRun启动的时候控制台没有输出spring图案
今天一新来的同事问我从git上拉的项目怎么在bootRun的时候页面和我们的不一样,但是在他的idea直接运行application这个类的main方法时,控制台的输出就是正常的。他的页面是这样的:我们平时习惯看的页面:如图中所示的按钮即可切换两种视图。。...
2018-04-19 14:26:03 4886
转载 spring boot 中用@value给static变量赋值
需求:改写一个JedisUtils,工具类,所以最好用静态方法和变量。@value("${redis.host}")private static String redisHost;运行后发现注入失败。解决办法:看了网上大家的说法,有用中间变量的,有用set方法赋值的。试了一下都是可以成功赋值的,以下引用别人的代码:给参数注入,执行set方法(这里注意set方法中的static要去掉)public ...
2018-04-09 16:14:14 5028
原创 不影响主线业务的进行,去新开线程发送任务变更通知给别的系统
之前考虑到用消息队列来做,当任务变更的时候在任务模块发消息出去,然后在其他子系统有订阅这个消息,收到发出的消息后就会自动去重新获取一次变更后的任务。问了下总监,说是项目目前不会用到消息队列,让我重新开一个线程去调用别的系统通知他们任务已变更即可。解决:在任务模块变更任务的业务中加入(工作的电脑不能连接外网,网上找的别人的代码):new Thread() { @Overri...
2018-03-26 16:03:47 303
原创 多对多关联表数据会突然被删除
工作中遇到个bug,多对多关联表的数据会突然没有了,手动从数据库加上一条关联数据进行测试也是被删除了,代码中没有写任何删除关联表的操作,用的是hibernate,网上找了下,应该是懒加载的问题。如果没有在实体上配置@Lazy(value = false)。个人猜想每次用实体去get另一个实体集合的时候应该会先从hibernate的缓存中去读取,然后这个时候手动加入数据库的关联数据并没有加载到缓存中...
2018-03-26 15:48:35 412
原创 boot + gradle build失败提示unable to rename "*.jar" to "*.jar.original"
boot + gradle build失败提示unable to rename "*.jar" to "*.jar.original",在build.gradle文件中加入bootRepackage.enabled = false,然后build一次,这时候成功build,但是运行jar包会发现找不到主类,然后把刚才加入的bootRepackage.enabled = false去除,加入boot
2018-01-25 14:02:32 3901
原创 consul上服务注册失败
今天consul重启了一次,服务并没有自动注册在consul上,于是重新打包运行一次,还是提示找不到服务,看了下bootstrap.properties文件中的spring.cloud.consul.discovery.healthCheckUrl = http://${server.address}:${server.port}/**/health,这里的**是自己配置的,就是因为这里没写对,
2018-01-25 12:06:57 9474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人