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 发布!

相关推荐
程序猿零零漆1 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十)基于注解配置的AOP使用
java·学习·spring
努力的小郑8 分钟前
SQL 性能避坑:为什么阿里强制禁用 ORDER BY RAND()?
java·mysql·性能优化
悟能不能悟11 分钟前
前端调用a服务,a服务将请求用controller+openfeign调用b服务,接口参数中有header参数和body,a服务应该怎么设置,才简单
java·开发语言·前端
2501_9418859611 分钟前
从接口演化到系统自治的互联网工程语法重构与多语言实践思路拆解分享文
java·开发语言
2501_9418053116 分钟前
在阿姆斯特丹智能港口场景中构建集装箱实时调度与高并发物流数据分析平台的工程设计实践经验分享
java·大数据·算法
小许学java16 分钟前
网络原理-HTTP/HTTPS
java·网络·http·https
panamera1220 分钟前
C++ 中 static 关键字
java·开发语言·c++
涂山小楼21 分钟前
线程join()方法的深度理解
java·前端·算法
sxlishaobin24 分钟前
设计模式之外观模式
java·设计模式·外观模式
2501_9418787429 分钟前
从限流策略到系统节奏感的互联网工程语法设计与多语言实践随笔分享
java·开发语言