<article class=“article fmt article-content”><h2>拓展浏览</h2><blockquote><p>linq</p><p>querydsl</p></blockquote><h2>Jinq 是什么?</h2><p>Jinq为开发者提供了一种在Java中编写数据库查问的简略天然的形式。</p><p>你能够像解决存储在汇合中的一般Java对象一样解决数据库数据。你能够应用一般的Java命令遍历和过滤它们,而你的所有代码都将主动转化为优化的数据库查问。</p><p>最初,Java终于有了LINQ格调的查问!</p><p>简略天然的查问。</p><p>应用Jinq,你能够应用简略天然的Java语法编写数据库查问。利用Java 8对函数式编程的新反对,你能够应用与惯例Java数据雷同的代码来过滤和转换数据库中的数据。</p><p>例如,上面是一段应用Jinq从数据库中获取所有名为“Alice”的客户的Java代码。</p><pre><code class=“java”>database.customerStream().where(customer -> customer.getName().equals(“Alice”));</code></pre><p>代码执行流程如下:</p><p>从数据库中获取所有客户的流<br/>应用函数拜访每个客户对象并进行过滤<br/>只返回名为“Alice”的客户</p><p>当在Java中执行此代码时,Jinq将主动将代码转换为数据库能够了解的SQL查问。</p><pre><code class=“java”>PreparedStatement s = con.prepareStatement(“SELECT * ““FROM Customer C ““WHERE C.Name = ? “);s.setString(1, “Alice”);ResultSet rs = s.executeQuery();</code></pre><p>更少的谬误。更少的安全漏洞。更快的开发速度。</p><p>现有的数据库查问写在字符串外部。为了查看谬误,你必须启动数据库并运行查问。这会减慢开发速度并导致更多谬误。</p><p>Jinq查问是一般的Java代码,Java编译器将晚期捕捉谬误,放慢开发速度。因为查问被编写为Java代码,因而不可能呈现常见的SQL注入平安问题。</p><h2>立刻尝试</h2><p>Jinq是开源的。当初下载并依照入门指南学习更多对于其性能的信息。</p><h2>参考资料</h2><p>https://www.jinq.org/</p><blockquote>本文由博客一文多发平台 OpenWrite 公布!</blockquote></article>