拓展浏览
linq
querydsl
Jinq 是什么?
Jinq 为开发者提供了一种在 Java 中编写数据库查问的简略天然的形式。
你能够像解决存储在汇合中的一般 Java 对象一样解决数据库数据。你能够应用一般的 Java 命令遍历和过滤它们,而你的所有代码都将主动转化为优化的数据库查问。
最初,Java 终于有了 LINQ 格调的查问!
简略天然的查问。
应用 Jinq,你能够应用简略天然的 Java 语法编写数据库查问。利用 Java 8 对函数式编程的新反对,你能够应用与惯例 Java 数据雷同的代码来过滤和转换数据库中的数据。
例如,上面是一段应用 Jinq 从数据库中获取所有名为“Alice”的客户的 Java 代码。
database.customerStream().where(customer -> customer.getName().equals("Alice"));
代码执行流程如下:
从数据库中获取所有客户的流
应用函数拜访每个客户对象并进行过滤
只返回名为“Alice”的客户
当在 Java 中执行此代码时,Jinq 将主动将代码转换为数据库能够了解的 SQL 查问。
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 是开源的。当初下载并依照入门指南学习更多对于其性能的信息。
参考资料
https://www.jinq.org/
本文由博客一文多发平台 OpenWrite 公布!