最近在帮项目封装分页的时候,本来想用mybatis拦截器,后来想着这样太重量级了,并且跟项目耦合,所以决定封装一个轻量级的工具,再后来发现,一些基础的增删改查,分页,模糊查询,大于小于不等于,in,notin 这些全都可以封装进去。现在是封装好测试后,想着贴部分代码过来,供大家参考。
源码已上传,地址:https://download.csdn.net/download/qq_37527048/10522072
资源为maven配置,解压后放在本地maven库的com下就好了,全路径名下图所示
接下来新建一个项目demo,添加pom.xml依赖以及扫描配置
以下为数据库配置,只要你的配置是在properties文件里,并且含有以下任意关键字,我的工具都会智能去识别你的数据源
当然,正式项目还是命名正式点比较好。
然后再创建一个与数据库关联的bean,这里需要用到我的自定义注解来标注表名和主键。
如果有其他需要,我这里另外提供了两个注解,@TableIgnore和@TableField,分别用来表示不需要添加到数据库的属性(数据库无此字段)和与数据库字段不一致的属性名,如下图
所有准备工作完成,接下来就可以直接使用我的工具了,如下图,通过spring注入进来,执行新增的时候,会自动将主键返回
当然我的工具提供了很多个基础方法,都是依据参数属性来操作,例如:
除此之外,还有稍微进阶的操作,看官请看,那就是支持排序:
还有更进一层的是如下,支持单表聚合查询及模糊查询,演示一下:
以下
自由拼接,想怎么查就怎么查。
另外还有一点比较重要的是,工具对事务的支持。在需要开启的地方加上@EasySqlTransaction即可,不加的话默认自动提交
我的核心思想是作为工具类,简化开发流程及代码,前提是小白或小型项目下没有架构师等大牛帮助写框架。我这个东西不与你的任何框架耦合,可以单独使用,也可以联合你框架使用,完全轻拿轻放。随心所欲。
工具里自己做了连接池,书写sql采用的预编译模式,不存在sql注入问题。