java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句

最近在帮项目封装分页的时候,本来想用mybatis拦截器,后来想着这样太重量级了,并且跟项目耦合,所以决定封装一个轻量级的工具,再后来发现,一些基础的增删改查,分页,模糊查询,大于小于不等于,in,notin 这些全都可以封装进去。现在是封装好测试后,想着贴部分代码过来,供大家参考。

源代码已经被我封装成了easySql.jar

源码已上传,1.0.2地址(基于spring):https://download.csdn.net/download/qq_37527048/10522072

1.0.5地址(原生):https://download.csdn.net/download/qq_37527048/10531818

1.0.6地址(代码优化,并支持多数据源):https://download.csdn.net/download/qq_37527048/10580116

1.0.8地址 (优化更新,支持自定义语句,支持外部传入connection):https://download.csdn.net/download/qq_37527048/10770020

1.1地址 (优化多条件查询方式,支持or语句,支持多种排序,支持自定义返回字段,支持自增语句,使用语句执行器行事,见文章最后,代码写起来更容易,支持一次插入多条):https://download.csdn.net/download/qq_37527048/11676013

可以加我qq:547595531   0o①唔溹Ai¢

资源为maven配置,解压后放在本地maven库的com下就好了,全路径名下图所示

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第1张图片

 

接下来新建一个项目demo,添加pom.xml依赖以及扫描配置

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第2张图片

 

然后再创建一个与数据库关联的bean,这里需要用到我的自定义注解来标注表名和主键。

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第3张图片

所有准备工作完成,工具支持直接new,内部配置了连接池,执行新增的时候,会自动将主键返回

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第4张图片

 

当然我的工具提供了很多个基础方法,都是依据参数属性来操作,例如:

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第5张图片

除此之外,还有稍微进阶的操作,看官请看,那就是支持排序:

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第6张图片

还有更进一层的是如下,支持单表聚合查询及模糊查询,演示一下:

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第7张图片

 

以下java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第8张图片

自由拼接,想怎么查就怎么查。

另外还有一点比较重要的是,工具对事务的支持。在需要开启的地方加上@EasySqlTransaction即可,不加的话默认自动提交

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第9张图片

 

 

如果有其他需要,我这里另外提供了两个注解,@TableIgnore和@TableField,分别用来表示不需要添加到数据库的属性(数据库无此字段)和与数据库字段不一致的属性名,如下图

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第10张图片

 

 

我的核心思想是作为工具类,简化开发流程及代码,前提是小白或小型项目下没有架构师等大牛帮助写框架。我这个东西不与你的任何框架耦合,可以单独使用,也可以联合你框架使用,完全轻拿轻放。随心所欲。

 

工具里自己做了连接池,书写sql采用的预编译模式,不存在sql注入问题。工具有三个构造器,分别的

1.默认无参,内部自动使用druid连接池,并扫描项目下的perproties文件获取数据库配置信息。

2.参数可设置url  username  password数据库信息,工具不再扫描,直接开启druid

3.参数接收一个连接池,工具则会使用项目中连接池,不启用druid

 

以下为部分源码:

获取数据库配置信息,并添加到连接池

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第11张图片

 

查询当前调用链使用含有事务注解

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第12张图片

 

提供三种构造器

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第13张图片

 

获取数据库连接

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第14张图片

 

判断当前调用链是否含有事务及提交事务

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第15张图片

 

重载多种查询方法

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第16张图片

 

取参数时各种注解判断

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第17张图片

 

一些小问题的解释

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第18张图片

 

sql执行器形式多条件查询

函数式调用,例如:

//创建链接

EasySqlExecution execution = new EasySqlExecution();

//创建执行器

SqlExecuter se= new SqlExecuter(new UserBean());

//函数是调用(名字含有小明,id大于10,年龄在这个范围之内)

se.like("name","小明").gte("id",10),in("age",new ArrayList(Integer)).....

//执行数据库查询

List result = execution.select(se);

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第19张图片

java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句_第20张图片

你可能感兴趣的:(java对数据库sql进行增删改查的封装,单表操作将不再需要写sql语句)