当前位置: 首页 >数据库 > 原创,分享,在java中使用lambda查询数据库

原创,分享,在java中使用lambda查询数据库

不忘初心

最开始接触写代码的时候,用的是C井,查数据库直接硬编码sql,挺难受的。后来学习到EntityFramework,用起来是真香,都是强类型,各种智能提示,代码写起来极度舒适,效率起飞。最近要用java搞项目,接触了mybatis,玩的sql语句放xml,瞬间不香了。一顿百度,想找个类似EntityFramework的类库来查数据库,找到mybatis-plus,介绍是支持lambda查数据,再研究了下发现和自己想要的很不一样,特别是多表多条件查的场景。最后是自己动手,丰衣足食。

使用方法

maven坐标

<dependency>  <groupId>io.github.eeroom</groupId>  <artifactId>nalu</artifactId>  <version>2.4</version></dependency>

默认约定

1、创建和数据库表同名的poco类,类的字段名称和表的列名称一致对于字段的类型是枚举的情况,数据库必须是varchar,nalu才可以正常处理字段和列值之间的值映射2、创建一个数据库对应的dbcontext类,这个类需要继承io.github.eeroom.nalu.DbContext。3、当前支持的数据库有mysql,mariadb,sqlserver。e.g.

原创,分享,在java中使用lambda查询数据库 _ JavaClub全栈架构师技术笔记
原创,分享,在java中使用lambda查询数据库 _ JavaClub全栈架构师技术笔记
原创,分享,在java中使用lambda查询数据库 _ JavaClub全栈架构师技术笔记

查,API列表

dbset 指定要查询的表,每个查询都从这个方法开始select 指定要查询的列,2个重载join 连接表,有2个重载方法where 筛选,支持简单或复杂的where条件,任意函数,包括你的自定义函数,有多个重载方法groupBy 指定分组having 分组筛选,多个重载orderBy 排序,顺序orderByDescending 排序,逆序skipTake 分页toListByPaging 获取分页查询结果,多个重载toList 获取查询结果,不分页,多个重载e.g.

原创,分享,在java中使用lambda查询数据库 _ JavaClub全栈架构师技术笔记

增,API列表

add 指定要新增的数据,支持批量,多个重载setInsertCol 指定要赋值的列,对应sql语句中要set value的列,2个重载saveChange 执行操作,可以指定事务隔离级别,2个重载,增删改的任意多个组合在一次saveChange中则为一个事务进行执行e.g.

原创,分享,在java中使用lambda查询数据库 _ JavaClub全栈架构师技术笔记

删,API列表

delete 指定要要删数据的表或具体要删的数据,支持批量,多个重载where 筛选条件,支持简单或复杂的where条件,任意函数,包括你的自定义函数,有多个重载方法saveChange 执行操作,可以指定事务隔离级别,2个重载,增删改的任意多个组合在一次saveChange中则为一个事务进行执行e.g.

原创,分享,在java中使用lambda查询数据库 _ JavaClub全栈架构师技术笔记

改,API列表

edit 指定要要修改的表或具体要修改的数据,支持批量,多个重载setUpdateCol 指定要修改的列where 筛选条件,支持简单或复杂的where条件,任意函数,包括你的自定义函数,有多个重载方法saveChange 执行操作,可以指定事务隔离级别,2个重载,增删改的任意多个组合在一次saveChange中则为一个事务进行执行e.g.

原创,分享,在java中使用lambda查询数据库 _ JavaClub全栈架构师技术笔记

作者:eeroom
来源链接:https://www.cnblogs.com/eeroom/p/15771311.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/117401.html

标签:group by
分享给朋友:

“原创,分享,在java中使用lambda查询数据库” 的相关文章

JDBC工具类(DButil) 2022年05月13日 09:13:25
MySQL数据库(基础) 2022年05月16日 21:54:19
性能优化|Mysql优化之Explain精讲 2022年06月02日 21:18:04
mysql 查询数据库内存大小 2022年06月06日 11:11:26
mysql递归查询 2022年06月06日 18:26:30
mysql查询结果中文显示成了问号 2022年06月07日 02:00:43
mysql查询字段为null 返回0 2022年06月10日 20:48:10