jooq 生成数据库

课程大纲

SQL是用于关系数据库查询的功能强大且表达能力强的语言。 SQL已建立,标准化并且几乎不受其他查询语言的挑战。 但是,在Java生态系统中,自JDBC以来,几乎没有采取任何相关措施来更好地将SQL集成到Java中。 在更高层次上,所有关注都集中在对象关系映射和语言抽象上,例如OQL,HQL,JPQL,CriteriaQuery。 同时,这些抽象已经变得几乎和SQL本身一样复杂,无论它们给无法修补生成SQL的DBA带来的麻烦是什么。 jOOQ是双重许可的开源产品,填补了这一空白。 它在Java中将SQL本身实现为内部特定于域的语言,从而允许类型安全的构造和执行任意复杂度SQL语句。 其中包括嵌套选择,派生表,联接,半联接,反联接,自联接,别名以及许多特定于供应商的扩展,例如存储过程,数组,用户定义的类型,递归SQL,分组集,数据透视表,窗口函数和许多其他OLAP功能。 jOOQ还包括一个源代码生成器,使您可以非常高效地在诸如Eclipse之类的现代IDE中编译查询。

在SQL和特定关系数据库很重要的Java应用程序中,jOOQ是一个不错的选择。 当JPA / Hibernate抽象过多而JDBC过于抽象时,这是一种替代方法。 它显示了一种现代的领域特定语言如何可以极大地提高开发人员的生产率,从而将SQL内部化为Java。 在本课程中,我们将看到如何使用jOOQ有效地查询数据库。

关于作者

Lukas是位于瑞士苏黎世的Data Geekery GmbH的创始人兼首席执行官。 自2013年以来,Data Geekery一直在销售围绕Java和SQL的数据库产品和服务。

自2006年在EPFL攻读硕士学位以来,Lukas着迷于Java和SQL的交互。 他通过各种变体(JDBC,Hibernate,主要是Oracle)在瑞士电子银行领域获得的大部分经验。 他在各种会议,JUG,内部演示和公司博客上分享他的知识。

经验教训

在本课程中,我们将讨论如何通过创建示例项目来入门jOOQ,H2和Maven。

jOOQ是一种DSL(领域特定语言),它模仿Java API中的标准和特定于供应商SQL语法。 作为内部DSL,Java编译器可以验证您SQL查询的语法正确性(例如,SQL关键字的正确顺序)。 使用表和列作为生成的Java对象,编译器还可以验证元数据的正确性(例如,正确的列名和类型)。 在本课程中,我们将深入研究jOOQ DSL,并使用谓词,语句和构建表达式。

在本课程中,我们将了解如何对Active Records执行CRUD。 编写CRUD既无聊又重复,这就是为什么像Hibernate这样的ORM出现并成功提高开发人员生产力的原因。 但是,当您经常只想对表中的单个记录进行操作时,Hibernate对您的体系结构进行了许多假设(和限制)。 jOOQ知道“活动记录”或UpdatableRecords,可以将其装入“特殊”种类的SELECT语句,然后在内部跟踪脏标志。 我们将学习如何执行简单的活动记录操作以及如何使用乐观锁定。

在本课程中,我们将比较jOOQ与JDBC。 JDBC通常因冗长而受到批评。 JDBC也因选择了错误的“默认值”而受到批评,例如,默认的结果集的延迟实现。 我们将看到jOOQ如何改进对检查异常,结果集,Prepared语句和带有结果集的语句的批评。

在本课程中,我们将学习生命周期管理对象如何与jOOQ交互。 有多种SPI(服务提供商接口),可用于管理jOOQ中各种实体的生命周期。 可以通过配置对象注入这些SPI。 我们将看到如何使用ConnectionProvider,在特定SQLDialect上下文中jOOQ如何生成和执行SQL语句,以及如何使用Settings为jOOQ提供有关常规查询呈现和执行行为的信息。

请确保转发此消息,让您的社交粉丝知道!

#jOOQ类型安全数据库查询教程-免费超级课程http://t.co/9oL05sABTn pic.twitter.com/CJEd6NPB2h

— Java Code Geeks(@javacodegeeks) ,2015年10月16日

翻译自: https://www.javacodegeeks.com/2015/09/jooq-type-safe-db-querying.html

jooq 生成数据库

jooq 生成数据库_jOOQ类型安全数据库查询教程相关推荐

  1. jOOQ类型安全数据库查询教程

    课程大纲 SQL是用于关系数据库查询的功能强大且表达能力强的语言. SQL已建立,标准化并且几乎不受其他查询语言的挑战. 但是,在Java生态系统中,自从JDBC以来,几乎没有采取任何相关的措施来更好 ...

  2. access查询mysql_2017计算机二级Access数据库生成表查询教程

    2017计算机二级Access数据库生成表查询教程 引导语;你知道运用Access数据库如何查询生成表吗,以下是百分网小编分享给大家的2017计算机二级Access数据库生成表查询教程,欢迎阅读! 生 ...

  3. Oracle数据库中的级联查询、级联删除、级联更新操作教程

    这里整理了Oracle中的三种级联操作,其中Oracle定义外健的时候可以定义级联删除,但是没有级联修改的语法,当然可以用触发器实现,下面我们详细来看Oracle数据库中的级联查询.级联删除.级联更新 ...

  4. 通过表单设计器动态生成数据库表以及动态查询的功能实现

    表单设计器动态生成数据库表以及动态查询的功能实现 前言 1. 功能实现 1.1 效果说明 1.2 功能流程图 1.3 具体后端实现 1.4 实现效果 2. 尾声 前言 前两天安排了作为Java小码农的 ...

  5. mysql教程详解之多表联合查询_详解数据库多表连接查询的实现方法

    详解数据库多表连接查询的实现方法 通过连接运算符可以实现多个表查询.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 在关系数据库管理系统中,表建立时各数据之间的关系不必 ...

  6. 创建mysql数据库快照_数据库教程

    下面,容我来向大家介绍数据库学习内容,主要讲述的是SQL Server 2008高可用性系列之数据库快照.想了解的就来看看吧! 一:简介:数据库快照是一个数据库的只读副本,它是数据库所有数据的映射,由 ...

  7. 如何避免循环查询数据库_与数据库无关的查询是不可避免的

    如何避免循环查询数据库 As the amount of data managed by an organization grows, the difficulty of managing and q ...

  8. 基于巨杉数据库的银行流水查询系统

    背景: 银行流水账单俗称银行卡存取款交易对账单,也称银行账户交易对账单.指的是客户在一段时间内与银行发生的存取款业务交易清单.一般而言,在申请贷款或者信用卡时,银行或其他金融机构会要求借款人提供申请者 ...

  9. mysql windows 管道连接,科技常识:Windows Server 2016 MySQL数据库安装配置详细安装教程...

    今天小编跟大家讲解下有关Windows Server 2016 MySQL数据库安装配置详细安装教程 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Windows Server 2016 ...

最新文章

  1. SWFTools PDF转换为SWF
  2. Docker网络——实现容器间通信、容器与外网通信以及容器的跨主机访问
  3. windows中以管理员身份运行cmd
  4. 最小生成树(prime算法、kruskal算法) 和 最短路径算法(floyd、dijkstra)
  5. 解决Button设置disabled后无法执行后台代码问题
  6. maskrcnn还可以加网络吗_桃子加蜂蜜可以榨汁吗?桃子和蜂蜜可以一起吃吗?原来可以这样吃...
  7. linux---谈谈vfork和fork的区别及exit与return
  8. Express Cookie 的基本使用
  9. windows下监测tomcat7内存使用情况
  10. 【CodeForces】947 D. Picking Strings
  11. java8 自动关闭资源_java9系列第二篇-资源自动关闭的语法增强
  12. 中国数字压力计市场趋势报告、技术动态创新及市场预测
  13. Win7如何自定义鼠标右键菜单 添加新建文本文档
  14. 二元信号探测的误检概率推导与其matlab验证
  15. java模拟器电脑版怎么安装教程_电脑Java模拟器安装使用教程
  16. 地理思维导图怎么画?五步教你思维导图画法
  17. 宽480高640证件照是几寸?我只推荐这个方法
  18. 请用python3编写一个计算器的控制台程序_二、软件工程慕课第一章作业题——编写一个计算器...
  19. 测试用例(功能用例)——完整demo(一千多条测试用例)
  20. GD32F4xx创建工程

热门文章

  1. P4173-残缺的字符串【FFT】
  2. P2336-[SCOI2012]喵星球上的点名【SA,树状数组】
  3. 51nod-诺德街【数学期望】
  4. P3085,jzoj3234-[USACO13OPEN]阴和阳【点分治】
  5. ssl1104-USACO 2.1城堡(foodfill)【图论,广搜】
  6. 【DP】Table(CF232B)
  7. 【DP】【记忆化搜索】NIKOLA(jzoj 1150)
  8. JavaFX键盘事件
  9. Java 面试就业指导,100 % 提高面试成功率
  10. Spring Boot 发布 jar 包转为 war 包秘籍。