0%

​ 公司中提交MYSQL脚本有相应的规范,需要编写为groovy文件,同时里面包含了一些其他信息项,有对应版本、编写人、模块编码、日期等等,每次写脚本时都通过拷贝旧文件,再修修改改之后提交,所以错误率比较高,想着通过配置信息项以及通过代码来直接生成对应脚本。完成之后发现,虽然达到了生成脚本的预期,但是交互是在console控制台上交互,使用上有点繁琐,偶然看到关于IDEA插件开发的博客,想着是否可以通过IDEA插件来写一个UI,生成逻辑直接使用原有代码移植过来。同时记录在开发IntelliJ IDEA插件过程中遇到的一些问题和踩到的一些坑。

阅读全文 »

shell脚本中的一些常规语法笔记,由于日常中使用比较少,每次想写一点简单脚本的时候都忘记了相应的语法,所以这里记录一些常规的语法。

阅读全文 »

使用BigDecimal计算防止精度丢失

背景

​ 最近工作的业务上需要使用到计算相关的函数,虽然有过一点基本的理论知识,知道计算相关必须使用BigDecimal处理进行处理,若使用floatdouble会丢失一定的精度,但是在使用过程中还是踩了一些坑,所以对BigDecimal原理进行更深入的了解。

阅读全文 »

Spock实践(一)

背景

​ 单元测试算是一个老生常谈的问题了,在实际的情况中,总是需要在单元测试与进度之间进行一个权衡,而往往实际上权衡时都是偏向进度一方,甚至很多自信的开发者都不推崇进行单元测试的编写,觉得单元测试费时费力,并且在需求调整又需要重新进行单元测试的编写,其实还有很大一部分原因是因为目前在Spring体系中,常用的单元测试框架就是基于PowerMock或者MockTo等,由于这些框架依赖Spring容器,所以在编写过程需要频繁的启动Spring容器进行单元测试的测试,导致过程比较繁琐。

阅读全文 »

mysql索引优化

​ 描述使用explain命令中的每列所代表的含义,以及出现某些慢查询时的一些优化。

阅读全文 »

tk.mybaits动态表名

背景

​ 由于目前项目中多采用模块化的方式进行组件的整合,在新服务的搭建时为了尽可能保证新服务指向的数据库中的表名统一于服务名,比如新服务是订单模块,希望这个模块指向的数据库中的表名都是以ORDER_开头。且一些二次开发的组件中也有使用mysql进行数据的相关处理,故希望可以通过统一处理的方式进行表名动态化。

阅读全文 »

tk.mybaits和mybatisPlus兼容性

背景

​ 项目早期建设时底层采用了tk.mybatis方式来对数据访问层进行数据处理,而后再更新Springboot的同时因为一些不知原因(只能说我级别不够,不知领导的深意,但确实tk.mybatis官网已经没有维护了)又在底层引入了mybatisPlus,所以新代码采用mybatisPlus编写,旧模块任然使用tk.mybatis编写。

阅读全文 »

数据库和缓存双写一致性

背景

​ 使用缓存在存储热点数据是常用的提交系统响应速度的一种解决方案,但是在更新数据时如何确保数据库和缓存中的数据一致性,特别是在高并发的场景下,应如何保证双写数据的一致性。

阅读全文 »

mysql日志文件

mysql在进行数据的存储过程中,为了处理数据、预防数据丢失、查询数据优化等的场景的需要,约定了一些日志文件系统。

阅读全文 »