jinq 入门介绍-java中编写数据库查询的简单自然的方式

拓展阅读

linq
querydsl

Jinq 是什么?

Jinq为开发者提供了一种在Java中编写数据库查询的简单自然的方式。

你可以像处理存储在集合中的普通Java对象一样处理数据库数据。你可以使用普通的Java命令遍历和过滤它们,而你的所有代码都将自动转化为优化的数据库查询。

最后,Java终于有了LINQ风格的查询!

简单自然的查询。

使用Jinq,你可以使用简单自然的Java语法编写数据库查询。利用Java 8对函数式编程的新支持,你可以使用与常规Java数据相同的代码来过滤和转换数据库中的数据。

例如,下面是一段使用Jinq从数据库中获取所有名为"Alice"的客户的Java代码。

java 复制代码
database.customerStream().where(
customer -> customer.getName().equals("Alice"));

代码执行流程如下:

从数据库中获取所有客户的流 使用函数访问每个客户对象并进行过滤 只返回名为"Alice"的客户

当在Java中执行此代码时,Jinq将自动将代码转换为数据库可以理解的SQL查询。

java 复制代码
PreparedStatement s = con.prepareStatement("SELECT * "

"FROM Customer C "
"WHERE C.Name = ? ");
s.setString(1, "Alice");
ResultSet rs = s.executeQuery();

更少的错误。更少的安全漏洞。更快的开发速度。

现有的数据库查询写在字符串内部。为了检查错误,你必须启动数据库并运行查询。这会减慢开发速度并导致更多错误。

Jinq查询是普通的Java代码,Java编译器将早期捕获错误,加快开发速度。由于查询被编写为Java代码,因此不可能出现常见的SQL注入安全问题。

立即尝试

Jinq是开源的。现在下载并按照入门指南学习更多关于其功能的信息。

参考资料

www.jinq.org/

本文由博客一文多发平台 OpenWrite 发布!

相关推荐
天河归来3 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL3 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
砚底藏山河4 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
猿究院_夏燊5 小时前
MySQL 的四种隔离级别
java·数据库·mysql
码流子6 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构
霸道流氓气质6 小时前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
云创智城-yuncitys6 小时前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot
文丑颜不良啊6 小时前
LeetCode1661~1680题目解析
java·leetcode
子非鱼@Itfuture6 小时前
关于前后端联调中登录状态/登录信息失效?
java·前端
郭小李6 小时前
openFeign入门
java·开发语言·前端