◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
jooq.org 声明 jooq 从您的数据库生成 java 代码,并允许您通过其流畅的 api 构建类型安全的 sql 查询。
jooq(java 面向对象查询)是 java 中的一个库,它提供了一种富有表现力且类型安全的方式来构建 sql 查询。
为什么要使用jooq?
首先,该库将您的数据库模式(表、列和记录)与 java 类相匹配,这意味着:
除此之外,jooq 还拥有一系列高级 sql 功能,例如排序、存储过程、公用表表达式等。
这对于超出典型 orm 处理能力的复杂查询特别有用。
尽管如此,它支持多种 sql 方言,例如 mysql、postgres、oracle 等
使用这个库,您可以更加专注于使用 sql,而不是抽象的 orm 模型。
jooq 可以使用 ant、maven 和 gradle 导入。
为了稍微了解一下 jooq 的含义,让我们看看查询示例。
这是选择的示例:
var result = create.select(book.title, author.first_name, author.last_name) .from(book) .join(author) .on(book.author_id.eq(author.id)) .where(book.published_in.eq(1948)) .fetch();
此示例将转换为 sql:
SELECT title, first_name, last_name FROM book JOIN author ON book.author_id = author.id WHERE book.published_in = 1984
通过这个 select 示例,您可以看到使用 jooq 库使查询降低了许多风险,并且还打开了底层性能优化的窗口。简单吧?
但是不要被这个库所欺骗,乍一看似乎很简单,但 jooq 很强大并且可能很复杂,所以要注意学习曲线以及这个库可能比其他库更重的事实。
总的来说,这是一个优秀的工具,每个人都应该尝试一下。
要了解更多信息,您可以通过 jooq.org 学习
—
就是这样!如果还有什么要讨论的,请随时发表评论,如果我错过了任何内容,请告诉我,以便我进行相应更新。
直到下一篇文章! :)
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。