草庐IT

Mybatis-plus分页查询不生效之问题排查

Mybatis-plus分页查询不生效之问题排查一、问题描述二、分析步骤三、解决方案四、总结一、问题描述在查询的时候,发现点击后台的分页器数字,第2页时候,数据还是和第1页的一致。就看后台的数据库打印语句,如下所示。点击第一页和第二页都是这个,limit后的参数只有一个,前期做过类似,点击第二页分页的时候,语句是LIMIT?,?ONap.id=a.project_idORDERBYa.create_timeDESCLIMIT?二、分析步骤首先开始怀疑的是自己的分页对象出现了问题,因为MySQLORM框架使用了JPA框架遗留的代码。将spring-data的分页对象org.springframe

Mybatis-plus分页查询不生效之问题排查

Mybatis-plus分页查询不生效之问题排查一、问题描述二、分析步骤三、解决方案四、总结一、问题描述在查询的时候,发现点击后台的分页器数字,第2页时候,数据还是和第1页的一致。就看后台的数据库打印语句,如下所示。点击第一页和第二页都是这个,limit后的参数只有一个,前期做过类似,点击第二页分页的时候,语句是LIMIT?,?ONap.id=a.project_idORDERBYa.create_timeDESCLIMIT?二、分析步骤首先开始怀疑的是自己的分页对象出现了问题,因为MySQLORM框架使用了JPA框架遗留的代码。将spring-data的分页对象org.springframe

Spring中Transactional注解使用的心得

今天看黑马redis的课,里面讲到了一个事务注解不生效的问题。究其原因,就在于Spring中事务注解生效的条件。那么接下来就说一下自己的心得。查了一下资料,就是说如果想让@Transactional注解生效,那么就只有当被代理类对象调用它的事务方法时,事务注解才会起作用。那如何才能创建代理对象呢,这个Spring也帮我们做好了。只要使用注入bean的方式(也就是依赖注入的方式)去创建bean对象,该bean对象调用被@T注解了的方法,那么就会走代理类,从而@T注解就起作用了。以下说一下例子吧publicclassVoucherOrderServiceImplimplementsIVoucher

Spring中Transactional注解使用的心得

今天看黑马redis的课,里面讲到了一个事务注解不生效的问题。究其原因,就在于Spring中事务注解生效的条件。那么接下来就说一下自己的心得。查了一下资料,就是说如果想让@Transactional注解生效,那么就只有当被代理类对象调用它的事务方法时,事务注解才会起作用。那如何才能创建代理对象呢,这个Spring也帮我们做好了。只要使用注入bean的方式(也就是依赖注入的方式)去创建bean对象,该bean对象调用被@T注解了的方法,那么就会走代理类,从而@T注解就起作用了。以下说一下例子吧publicclassVoucherOrderServiceImplimplementsIVoucher

一种面向业务配置基于JSF广播定时生效的工具

作者:京东物流王北永姚再毅李振1背景目前,ducc实现了实时近乎所有配置动态生效的场景,但是配置是否实时生效,不能直观展示每个机器上jvm内对象对应的参数是否已变更为准确的值,大部分时候需要查看日志确认是否生效。2技术依赖1)Jsf:京东RPC框架,用作机器之间的通讯工具2)redis/redisson:redis,用作配置信息的存储3)ZK/Curator:Zookeeper,用作配置信息的存储和redis二选一3)clover:定时任务集群,用作任务延迟或周期性执行3实现原理1)接入方:各个接入系统通过接入管理模块获取token,并指定所在系统发布的的服务器ip,用作后续的ip鉴权。当系统

一种面向业务配置基于JSF广播定时生效的工具

作者:京东物流王北永姚再毅李振1背景目前,ducc实现了实时近乎所有配置动态生效的场景,但是配置是否实时生效,不能直观展示每个机器上jvm内对象对应的参数是否已变更为准确的值,大部分时候需要查看日志确认是否生效。2技术依赖1)Jsf:京东RPC框架,用作机器之间的通讯工具2)redis/redisson:redis,用作配置信息的存储3)ZK/Curator:Zookeeper,用作配置信息的存储和redis二选一3)clover:定时任务集群,用作任务延迟或周期性执行3实现原理1)接入方:各个接入系统通过接入管理模块获取token,并指定所在系统发布的的服务器ip,用作后续的ip鉴权。当系统

【踩坑记录】@Transactional注解回滚不生效问题

@Transactional属于是Spring的常用事务处理注解了,最近在开发时偶然发现这个东西竟然不是100%生效的。问题重现:测试一个批处理方法,方法上加了@Transactional后执行,因为加了事务处理注解,没怎么关注SQL执行顺序(反正对事务来说都是原子性的),debug过程发现MongoDB连接有问题,有关Mongo的操作抛出了异常,因为数据库的某个字段是批处理的触发条件,并且在批处理过程中会更新这个字段。重新执行发现数据库(Postgresql)的数据被update了,没有触发。嗯,确实之前没关注这个注解会有不生效的问题,开始处理:首先为了方便测试批处理任务(定时调度的),我在

【踩坑记录】@Transactional注解回滚不生效问题

@Transactional属于是Spring的常用事务处理注解了,最近在开发时偶然发现这个东西竟然不是100%生效的。问题重现:测试一个批处理方法,方法上加了@Transactional后执行,因为加了事务处理注解,没怎么关注SQL执行顺序(反正对事务来说都是原子性的),debug过程发现MongoDB连接有问题,有关Mongo的操作抛出了异常,因为数据库的某个字段是批处理的触发条件,并且在批处理过程中会更新这个字段。重新执行发现数据库(Postgresql)的数据被update了,没有触发。嗯,确实之前没关注这个注解会有不生效的问题,开始处理:首先为了方便测试批处理任务(定时调度的),我在

微信小程序scroll-top不生效问题

昨天我在写微信小程序的聊天界面遇到的问题当我进入页面的时候我需要把我的聊天记录定位到我的存储聊天记录框的最底下所以我需要给我的scroll-top传入一个动态的数值让他初始化的时候,发送信息的时候,接收消息的时候都要在最底下然而这个时候出现了问题:我的html{height-50}}px;"scroll-yscroll-top="{{scrollTop}}">我的js//生命周期函数liaotianjilu是我存聊天记录的数组onLoad(options){this.setData({scrollTop:this.data.liaotianjilu.length*1000,height:wx.

微信小程序scroll-top不生效问题

昨天我在写微信小程序的聊天界面遇到的问题当我进入页面的时候我需要把我的聊天记录定位到我的存储聊天记录框的最底下所以我需要给我的scroll-top传入一个动态的数值让他初始化的时候,发送信息的时候,接收消息的时候都要在最底下然而这个时候出现了问题:我的html{height-50}}px;"scroll-yscroll-top="{{scrollTop}}">我的js//生命周期函数liaotianjilu是我存聊天记录的数组onLoad(options){this.setData({scrollTop:this.data.liaotianjilu.length*1000,height:wx.