
Java框架
怕乌龟骑
观念的转变和人类意志的力量,塑造了今天的世界。
展开
-
MyBatis自定义自定义动态SQL解析方式
引子之前项目中一直使用的是JPA作为ORM框架,最近,新加了一个子服务,使用的是MyBatis 作为ORM框架。既然用的是MyBatis,那就面免不了 循环迭代参数、if 动态SQL查询等。然而,MyBatis 的动态SQL要写很多判断逻辑、迭代逻辑,老是从其它SQL中去Copy就显得太Low了。所以,我查了查MyBatis的官方文档,最终找到了解决方案,这里我将方法分享出来,希望能帮到...原创 2019-12-13 16:15:10 · 2396 阅读 · 0 评论 -
SpringBoot + MyBatis配置多数据源
引子最近项目中,由于数据源更替,部分原来的需要通过REST API获取的数据需要切换成 直接从数据库中获取,所以,需要给项目配置多数据源。在查阅了一些文档后,这里记录下自己亲身实践后的结果,希望能帮到大家。配置项下面是在 application.properties 中配置的数据:# 多数据源配置,数据源一user.datasource.jdbcUrl=user.dataso...原创 2019-12-13 13:02:35 · 358 阅读 · 0 评论 -
自定义注解支持SPEL表达式
引子我现在负责项目中,数据计算量比较大,有强烈的缓存需求。但是无奈,我司的Redis在集群封装后,不支持“批量操作”的命令。所以,Spring Cache 框架就用不了了。我只能自己使用AOP去实现一套类似的逻辑。问题描述在项目中,我自定义了一个注解:@Documented@Target({ElementType.METHOD})@Retention(RetentionPol...原创 2019-10-14 13:36:20 · 3118 阅读 · 3 评论 -
XXL-JOB 注册流程与机制 源代码剖析
之前的项目中需要剥离出定时任务的代码,经过调研,我们决定使用XXL-Job来实现定时任务的调度。但是在使用过过程中,出现了一个问题——线上测试服务器的xxl-job-admin(部署调度中心)中,配置执行器的注册方式使用自动注册的时候,OnLine机器地址总是获取不正确。而当我将xxl-job-admin部署在我本地电脑上的Tomcat中的时候,使用自动注册,OnLine机器地址能正常获取。其...原创 2018-09-16 13:58:23 · 8335 阅读 · 9 评论 -
Thymeleaf高级语法:使用rowspan等构建复杂表格
引子之前自己撸代码的时候,需要使用邮件发送报表。当然,我曾在项目中见过有大佬直接使用StringBuilder拼接除了一整个表格的HTML。这种牛逼而又Low B的代码,实在是鄙视。针对这个需求,我选择的方式是,使用Thymeleaf将数据渲染到我们构建好的HTML模板上,同时拿到渲染完毕后HTML文档的字符串,最后将其嵌入邮件中进行发送。通过查询资料,网上对于Thymeleaf的复杂表格...原创 2019-05-20 18:02:51 · 5807 阅读 · 1 评论 -
JPA 动态查询之AND、OR结合使用
引子现在,我负责开发的项目中,使用JPA作为ORM框架。有了JPA,一行SQL都没写过。在昨天,有一个新的需求,需要进行动态查询,这个简单。但是有一个地方需要AND、OR结合使用,这里,我将记录下我的理解与写法,希望能帮助到大家。问题描述需要根据条件进行动态查询,实现一条类似下文的语句:SELECT *FROM tableWHERE 1 = 1 if (a == ...原创 2019-08-08 18:31:37 · 17533 阅读 · 1 评论