醉卧草庐听风雨

君子藏器于身,待时而动

0%

数据库访问层的SQL往往并不是固定的,有时需要根据输入的条件动态变化,这个时候难免会陷入对条件繁琐的if else判断之中,为了防止SQL条件为空的情况还不得不写上1=1条件。这里就为大家介绍下MyBatis Dynamic SQL,出自MyBatis的一款生成动态SQL语句的框架。

阅读全文 »

项目重构中采用了Spring Data JDBC作为数据访问层以此来实现对旧版系统的快速迁移,作为Spring Data系列的重要组成部分,它相比较与JPA轻量便捷,灵活的对象映射和基于领域模型驱动的设计理念都是相当不错的,但美中不足的是它不支持动态SQL的生成执行,不过经过对其源码的分析后发现,这个缺点是可以弥补的。

阅读全文 »

最近对公司数据操作层进行一次大的调整,新的数据访问由于历史原因采用的是Spring Data JDBC,其中涉及到数据库实体对象的生成,JPA下有相关的工具来帮助生成但Spring Data JDBC下却没有,于是只能另需它法,最后选择了MyBatis Generator,数据库对象是生成了但是还要手动做一些重复性的操作,不是很方便,于是决定结合其插件机制来定制数据库实体对象。

阅读全文 »

近期接到上头任务需要对现有注册的图片验证码进行一次改进,原有的验证码在被攻击之后变成一个数字计算图片,不仅数字模糊还要进行加减计算导致用户体验不好。不过好在之前早在四五月份主管就让我做了技术储备,这里就记录下相关的实现。

阅读全文 »

最近在公司项目的缓存设计上进行较大幅度的改动,采用的方式就是之前在Spring官网上看到并学习过的的Spring Cache,作为项目总结这里对Spring Cache进行一些简单的介绍。当然还是最为推荐直接去Spring Cache官方文档处学习了解。

阅读全文 »

周末两天研究了下持续集成相关的东西,遂写此博客聊以记录。持续集成的工具有很多,例如:jenkins、GOCD、travis-ci等等,本来准备使用jenkins的,但是转了一圈儿发现还有个drone,drone是一个基于docker的持续集成工具用go语言编写,相比较于jenkins这用java编写的工具来讲实在是轻量便捷许多。

阅读全文 »

如何有效规避梯子被封是个较难的问题,目前观看海外时政类新闻视频是容易被盯上,经过一番摸索我发现利用Heroku将youtube视频上传至onedive观看,这样不仅直接降低对梯子带宽的消耗,同时间接降低梯子被封的概率,下面就为各位介绍一二。

阅读全文 »

近日项目在安全扫描中被发现存在敏感信息未加密的情况,主管命我解决,于是对加密方式进行了一些了解学习,这里做下记录。

阅读全文 »

最近一段时间项目升级总是出现各种各样的问题,要是可以docker部署就可以避免一些不必要的错误发生,心动不如行动,于是捣鼓了下如何将一个传统的项目docker,其中还是有不少收获的,这里就和大家分享下。

阅读全文 »

最近在公司编写内部调用接口时经常出现相同的对象在不同的请求下返回不同的json值,虽然Spring MVC已经给出了一些解决方案,但是无奈的是公司的项目所用的Spring的版本还停留在3.X的版本,所以在使用上只能另寻它法,最后通过对Spring MVC的分析得出一种解决方案,故写出来以做记录。

阅读全文 »