jOOQ是“数据库优先”的类型安全的SQL API,使您可以直观地用Java编写SQL,就像Java编译器本身支持SQL语言一样。

所有数据库模式,表,列,过程和其他对象均作为Java对象提供,可以直接在jOOQ SQL API中使用。

让我们看看它是如何工作的……

例如,假设您的数据库包含此表:

CREATE TABLE CUSTOMER (ID INT, FIRST_NAME VARCHAR(50),LAST_NAME VARCHAR(50),AGE INT
);

当针对它运行jOOQ的代码生成器时,您将能够与数据库进行如下交互:

dsl.select(CUSTOMER.FIRST_NAME, CUSTOMER.LAST_NAME).from(CUSTOMER).where(CUSTOMER.AGE.gt(20)).and(CUSTOMER.LAST_NAME.like("S%")).fetch();

jOOQ的主要特点是:

  • 首先数据库:您的数据库拥有您最重要的资产–您的数据。 您想控制您的SQL。
  • Typesafe SQL:使用您的IDE可以用Java有效地编写SQL。
  • 代码生成:您的Java编译器将及早发现错误。
  • 活动记录:不要编写重复的CRUD,而只需存储已修改的记录即可。

但是jOOQ还附带了许多辅助功能:

  • 多租户:在运行时配置架构和表名称,并实现行级安全性。
  • 标准化:编写可在所有数据库上运行的SQL,而不会浪费时间在具体语法上。
  • 查询生命周期:涉及SQL代码生成生命周期,用于日志记录,事务处理,ID生成,SQL转换等等。
  • 存储过程:调用它们或将它们嵌入到SQL中是一种方法。 不要浪费时间使用JDBC。

好奇? 开始在jOOQ上免费学习JCG学院课程 !

翻译自: https://www.javacodegeeks.com/2014/10/write-sql-in-java-with-jooq.html

用jOOQ用Java编写SQL相关推荐

  1. jooq sql_用jOOQ用Java编写SQL

    jooq sql jOOQ是"数据库优先"类型的安全SQL API,使您可以直观地用Java编写SQL,就像Java编译器本身支持SQL语言一样. 所有数据库模式,表,列,过程和其 ...

  2. java编写sql语句,java实现简单的给sql语句赋值的示例

    代码本身很简单.拼接sql的时候?不好数,简单的用来赋值. /** * TODO 循环赋值,缺少的类型可随时添加 * @author Lucius * @param pt * @param list ...

  3. hive java udf_hive java编写udf函数

    (一)创建JAVA 代码--例子 package hiveOpt; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoo ...

  4. java中sql语句_java中sql语句的编写规则

    java中sql语句的编写规则 发布时间:2020-06-26 15:11:11 来源:亿速云 阅读:143 作者:Leah 这期内容当中小编将会给大家带来有关java中sql语句的编写规则,文章内容 ...

  5. jooq sql_使用jOOQ和JavaFX将SQL数据转换为图表

    jooq sql 最近,我们已经展示了Java 8和函数式编程将如何为使用jOOQ和Java 8 lambda和Streams进行SQL数据的函数数据转换为Java开发人员带来新的视角. 今天,我们将 ...

  6. 使用jOOQ和JavaFX将SQL数据转换为图表

    最近,我们已经展示了Java 8和函数式编程将如何为使用jOOQ和Java 8 lambda和Streams进行SQL数据的函数数据转换为Java开发人员带来新的视角. 今天,我们将这一步骤更进一步, ...

  7. java执行sql文件_面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他

    初识 MyBatis MyBatis 是第一个支持自定义 SQL.存储过程和高级映射的类持久框架.MyBatis 消除了大部分 JDBC 的样板代码.手动设置参数以及检索结果.MyBatis 能够支持 ...

  8. java执行sql文件_面试官:MyBatis SQL是如何执行的?把这篇文章甩给他

    初识 MyBatis MyBatis 是第一个支持自定义 SQL.存储过程和高级映射的类持久框架.MyBatis 消除了大部分 JDBC 的样板代码.手动设置参数以及检索结果.MyBatis 能够支持 ...

  9. mysql解释器_atitit.java解析sql语言解析器解释器的实现

    atitit.java解析sql语言解析器解释器的实现 1. 解析sql的本质:实现一个4gl dsl编程语言的编译器 1 2. 解析sql的主要的流程,词法分析,而后进行语法分析,语义分析,构建sq ...

最新文章

  1. 网络设备Web登录检测工具device-phamer
  2. DOMINO的JDBC和ODBC连接方法
  3. apollo 配置中心_Apollo配置中心搭建笔记
  4. 解读Android LOG机制的实现
  5. 微信平台第三方服务器,浅谈微信第三方服务平台的发展前景
  6. Android 抽屉布局
  7. BinderHub 使用简介
  8. 阿里巴巴开发公约节选(日常编程较常用的一些)
  9. 由降低系统之间的接口维护和升级的成本想到的。。。
  10. mysql union
  11. 人家android博客地址
  12. [BZOJ4987] Tree
  13. 计算机语言处理程序有三种,程序设计语言有哪三种
  14. OpenStreetMap地图服务器安装
  15. ios开发中UIButton设置标题和图片不能同时显示问题解决
  16. 下班前几分钟,我彻底弄懂了并查集
  17. Maven学习(一)---Maven简介
  18. CTF基础知识-Web
  19. (转) 机器学习很有趣Part6:怎样使用深度学习进行语音识别
  20. ZZULIOJ:1011圆柱体表面积

热门文章

  1. 数组(ArrayList)底层怎样扩容
  2. 克鲁斯卡尔算法(公交站问题)
  3. win10打字突然变成繁体
  4. php处理j数组,PHP Bean 类处理 数组处理
  5. unity 3d shaderlab 开发实战详解_vue实战开发011:使用router-view嵌套路由详解
  6. B树、B+树、B*树谈到R 树
  7. fluent瞬态_Java中的瞬态关键字及其使用
  8. thymeleaf与jsp_PagingAndSortingRepository –如何与Thymeleaf一起使用
  9. java gc cms_Java垃圾收集器:G1GC何时将CMS强制退出?
  10. java调用命令行命令_Java命令行界面(第4部分):命令行