公司中提交MYSQL
脚本有相应的规范,需要编写为groovy
文件,同时里面包含了一些其他信息项,有对应版本、编写人、模块编码、日期等等,每次写脚本时都通过拷贝旧文件,再修修改改之后提交,所以错误率比较高,想着通过配置信息项以及通过代码来直接生成对应脚本。完成之后发现,虽然达到了生成脚本的预期,但是交互是在console
控制台上交互,使用上有点繁琐,偶然看到关于IDEA
插件开发的博客,想着是否可以通过IDEA
插件来写一个UI
,生成逻辑直接使用原有代码移植过来。同时记录在开发IntelliJ IDEA
插件过程中遇到的一些问题和踩到的一些坑。
markdown记录
shell脚本基础
shell脚本中的一些常规语法笔记,由于日常中使用比较少,每次想写一点简单脚本的时候都忘记了相应的语法,所以这里记录一些常规的语法。
使用BigDecimal计算防止精度丢失
使用BigDecimal计算防止精度丢失
背景
最近工作的业务上需要使用到计算相关的函数,虽然有过一点基本的理论知识,知道计算相关必须使用BigDecimal
处理进行处理,若使用float
、double
会丢失一定的精度,但是在使用过程中还是踩了一些坑,所以对BigDecimal
原理进行更深入的了解。
Spock实践(一)
Spock实践(一)
背景
单元测试算是一个老生常谈的问题了,在实际的情况中,总是需要在单元测试与进度之间进行一个权衡,而往往实际上权衡时都是偏向进度一方,甚至很多自信的开发者都不推崇进行单元测试的编写,觉得单元测试费时费力,并且在需求调整又需要重新进行单元测试的编写,其实还有很大一部分原因是因为目前在Spring
体系中,常用的单元测试框架就是基于PowerMock
或者MockTo
等,由于这些框架依赖Spring
容器,所以在编写过程需要频繁的启动Spring
容器进行单元测试的测试,导致过程比较繁琐。
mysql索引优化
tk.mybaits动态表名
tk.mybaits动态表名
背景
由于目前项目中多采用模块化的方式进行组件的整合,在新服务的搭建时为了尽可能保证新服务指向的数据库中的表名统一于服务名,比如新服务是订单模块,希望这个模块指向的数据库中的表名都是以ORDER_
开头。且一些二次开发的组件中也有使用mysql
进行数据的相关处理,故希望可以通过统一处理的方式进行表名动态化。
tk.mybaits和mybatisPlus兼容性
tk.mybaits和mybatisPlus兼容性
背景
项目早期建设时底层采用了tk.mybatis
方式来对数据访问层进行数据处理,而后再更新Springboot
的同时因为一些不知原因(只能说我级别不够,不知领导的深意,但确实tk.mybatis
官网已经没有维护了)又在底层引入了mybatisPlus
,所以新代码采用mybatisPlus
编写,旧模块任然使用tk.mybatis
编写。