- 博客(6)
- 资源 (23)
- 问答 (7)
- 收藏
- 关注
原创 详解Jpa动态复杂条件查询,查询指定字段、并包括sum、count、avg等数学运算,包括groupBy分组
Jpa是我一直推荐在Springboot及微服务项目中使用的数据库框架,并由于官方的并不是十分友好和易用的api,导致很多人使用起来并不方便,下面就来展示一下我对api进行了封装后的代码。大大减轻了使用难度。效果展示首先我们直接来看最终的结果:譬如有个entity叫PtActivity,它有一个Repository。public interface PtActivityRepos...
2019-05-31 18:39:50 28179 18
原创 axios和Springboot项目交互时跨域处理
跨域本身是个很简单的问题,到处都能找到相关的后台配置教程。多数都是如下,定义个filter,再把filter注册一下就好了。public class CorsFilter implements Filter { @Override public void doFilter(ServletRequest httpRequest, ServletResponse res, Fi...
2019-05-27 20:40:31 2026
原创 Springboot分别使用乐观锁和分布式锁(基于redisson)完成高并发防超卖
在电商中经常会有防超卖的需求,本质上是对一条数据的多线程并发情况下的数据安全性进行控制。譬如一个商品goods,库存是100,在多线程都去读取修改的情况下,会产生数据错乱。不加锁的情况我们来看一个简单的例子,有个goods表,里面有个int型字段amount。我们用多线程来频繁修改amount的值,看看结果。 @Transactional(rollbackFor = Except...
2019-05-10 15:11:17 17301 35
转载 SpringBoot 实现JPA的save方法不更新null属性
转载自:https://www.jianshu.com/p/4931fbc52ea1直接调用原生Save方法会导致null属性覆盖到数据库,使用起来十分不方便。本文提供便捷方法解决此问题。核心思路如果现在保存某User对象,首先根据主键查询这个User的最新对象,然后将此User对象的非空属性覆盖到最新对象。核心代码直接修改通用JpaRepository的实现类,然后在启动类标...
2019-05-07 18:23:33 10255 4
原创 Springboot集成sentinel实现接口限流入门
Sentinel是阿里巴巴开源的限流器熔断器,并且带有可视化操作界面。在日常开发中,限流功能时常被使用,用于对某些接口进行限流熔断,譬如限制单位时间内接口访问次数;或者按照某种规则进行限流,如限制ip的单位时间访问次数等。之前我们已经讲过接口限流的工具类ratelimter可以实现令牌桶的限流,很明显sentinel的功能更为全面和完善。来看一下sentinel的简介:https://...
2019-05-07 11:40:44 34455 15
原创 SpringBoot2集成redis,使用lettuce客户端
Springboot集成redis大家都会用,主要就是使用RedisTemplate类来进行各种操作。可能很多人并没有注意,在Springboot2以后,底层访问redis已经不再是jedis了,而是lettuce。至于jedis和lettuce有什么区别呢,对我们的使用有什么影响呢?jedis采用的是直连redis server,在多个线程之间共用一个jedis实例时,是线程不安全的。如...
2019-05-05 16:12:19 25026 9
java反编译工具jad
2012-11-10
音乐播放器java制作
2012-11-07
ElasticSearch怎么做查询某个字段大于某个值的查询
2017-09-20
问一个使用hibernate对表排序的问题
2016-10-25
javaweb大神请进,如何在struts的一个action里处理多个数据操作逻辑
2016-07-15
求一个富文本编辑器,生成的网页能在手机上适配。不需要在电脑上适配
2016-06-08
服务器上tomcat需要更新程序时,大家是怎么办的,直接关闭tomcat重启吗?
2016-04-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人