07 2022 档案
摘要:一、java代码实现递归 组织表sql CREATE TABLE `my_org` ( `id` int(11) NOT NULL AUTO_INCREMENT, `org_name` varchar(50) DEFAULT NULL COMMENT '组织名称', `org_code` varch
阅读全文
摘要:数据同步还是要分不同的场景。 一、同库 如果表在同一个数据库里,可以直接用下面这个sql语句实现。 INSERT INTO ... SELECT ... 存在的问题 这种写法虽然方便,但是对于数据量比较大的情况不推荐,因为它会占用很长时间的事务,再加上如果select里的语句没有用到索引,那将会导致
阅读全文
摘要:实现动态表名是个很常见的需求,网上也有很多解决方法,这边总结了三种实现方式。 一、手动给每个方法加个表名的变量 缺点很明显,侵入性大,不方便,不推荐 二、mybatis插件机制拦截sql替换表名实现动态表名 import org.apache.ibatis.executor.statement.St
阅读全文
摘要:查看MySQL是否支持分区 show plugins; 根据车辆GPS的记录时间进行按天分区。 注意这边id和要分区的record_time添加了联合主键。 drop table if EXISTS t_car_gps; CREATE TABLE `t_car_gps` ( `id` int(11)
阅读全文
摘要:-- DATE_SUB 加上 INTERVAL 代表把时间往前推N个小时,HOUR 是单位 -- 大于号后面的if是做了个非空判断 SELECT DATE_SUB(date_format(user.step_time, '%Y-%m-%d'), INTERVAL (user.cycle * 24)
阅读全文
摘要:mapper接口 public interface UserInfoMapper extends BaseMapper<UserInfo> { void countByType(String checkNo); } sql xml 注意这里的存储过程是有入参,无返回值的 <?xml version=
阅读全文
摘要:page刚开始默认是1 public IPage<UserInfoDTO> pageCollect(PageVO vo) { List<UserInfoDTO> userInfos = this.listUser(); // 内存分页 List<UserInfoDTO> collect = user
阅读全文
摘要:select date_format(p.create_time, '%Y-%m-%d %H:%i:%S') from t_person p;
阅读全文
摘要:一、问题 之前写过一篇《springboot修改接口入参出参实现入参加密出参解密》,代码一直跑着都没问题,但是最近发现入参特别长的时候,inputMessage.getBody() 这段代码拿不到完整的入参,会被截断。 看了下源码,好像默认它转换的时候就截断了。 二、解决方法 看了下源码,Reque
阅读全文
摘要:之前要写接口aes加密传输,涉及到前后端交互,经常会遇到各种问题,这边记录一下,方便后期避坑 后端代码 import cn.hutool.core.codec.Base64; import cn.hutool.core.util.HexUtil; import org.bouncycastle.jc
阅读全文
摘要:一、背景 针对项目已经开发完的接口,都需要加上传输数据加密的功能,对接口入参进行AES解密,对接口出参进行加密。考虑到尽量改动少点,使用自定义注解结合springmvc里的RequestBodyAdvice和ResponseBodyAdvice两个类进行实现。 RequestBodyAdvice允许
阅读全文