Mybatis 用 if 条件判断 `test="num != null and num != '' "` 当 num 为 0 时判断为 fasle

在做一个删除操作时,需要更新关联表的统计记录数,当所有记录都被删除,即记录数 num 为 0 时,报错 SQLSyntaxErrorException,后面的的 sql 显示为 update table_name where id = 1,缺少了 num 字段设置。调试统计 num = 0 参数正常传递进入到 Mapper。查看执行更新操作的 sql:update table_name <t

Springboot 项目使用 undertow 替换 tomcat

jetty、undertow 还有 tomcat 都是 Springboot 中常见的 web 服务器。网上提到通过使用 undertow 替换 tomcat 可以一定程度上的提高性能,当然也有人做测试反驳的。这里不讨论各个 web 容器性能到底如何,那需要实践出真知。现在先尝试替换操作。百度了一下替换相当的简单,tomcat 是从 spring-boot-starter-web 中默认引入的,所

SpringBoot 调用 RedisTemplate 存储列表 redisTemplate.opsForList().rightPushAll(K var1, V... var2) 报错:xxxUser cannot be cast to java.lang.String

调试过程通过本地调试,经过一个半天终于确定了是 redis 缓存信息有问题导致了任务调度没有达到预期。前面调试过没有问题的业务逻辑部分忽略,涉及的部分主要在对数据库一个规则表做缓存处理,因为业务需要会频繁使用。大概问题是这样:刷新缓存的部分出错,导致规则没有写入到 redis,业务消费时找不到 redis 存储的规则,自然不会正常执行。所以关键点在数据写入到 redis。直接调用和调试都会报错。调

MacBookPro 2018 苹果笔记本电脑出现电池没有在充电警告

最近几周一直在烦苹果电脑电池充不进去电的问题,电脑是 MacBookPro 2018,当时买的二手的,花了 7700 块,虽然现在不算很好的配置了,但作为生产力工具,毕竟无可替代(关键是没预算)。买来之后就发现了电池会报一个建议维修的警告,问了卖家,他们让我寄回北京总部维修。当时因为不影响正常的使用,且不确定维修过后是否还能正常工作,就没有处理。直到最近,电脑偶发的会出现卡顿,然后就是电池没电关机

SpringBoot 使用 MongoDB 初体验

MongoDB 与 mysql 相比的缺陷MongoDB 与 mysql 同属于开源阵列,但相较于 mysql,MongoDB 日常项目中接触的不多。但 MongoDB 有它独特的优势,属于 NoSQL 类型的数据库,比较适用于分布式扩展以及大数据运算。网上提到 MongoDB 主要存在的缺陷:不支持 join 联查,不支持事务操作。MongoDB 的存储单元不同于 mysql 的表,它使用的是

tk-mybatis 搭配分页插件 pagehelper 使用遇到的问题

缘起在项目增加新的功能模块的时候,对于后端即接口,根据数据库表结构一顿闷头敲代码。之后对接接口的时候,前端反馈了一个比较奇怪的问题:列表分页不管用,下拉刷新更新下一页内容,明明应该没有下一页数据,但结果却正常返回了最后一页的数据。使用 postman 测试确认了问题:如果是访问最大页数之前的分页内容,数据正常返回;如果当前页超过了最大页数,数据返回最后一页的数据。分页调用示例代码:PageHelp

苏州相城周末看房两日游

前因过年时二叔过来精神抚慰一番作为家中 “大龄未婚男” 的我,然后提出来一个建议:既然老家回不去,将来也考虑一直在苏州发展,可以考虑买房的问题了。让我自己多看看,买房也可以增加相亲成功的几率,现在小姑娘县城的房子已经看不上眼了。跟爸妈商量了一下,他们的想法还是最好能够先找到对象,再考虑买房。因为先买房是有风险的,如果之后找到的对象不满意,是要伤筋动骨的。毕竟现在的楼市是下行的,未来不知道是否会跌成

mybatis insert 返回插入 ID 总是为 1

因为直接返回的是插入时成功的行数 而不是返回主键 id 值。insert 插入 sql 的属性 keyProperty 标记了返回字段,使用传入的的 getxxx() 方法来获取。比如: # 控制器 ...(@RequestBody Account account) { bidService.insertAccount(account); # Mapper <insert id="