JOOQ
compassy
这个作者很懒,什么都没留下…
展开
-
九、POJO的扩展
由 jOOQ 生成的 POJO 是针对单个表的字段进行生成。在关联查询中,通常我们要将多个表的数据存放在一个类里。这种情况下,我们可以自行创建一个类,去添加我们需要的多表字段成员变量对于这种比较常见的情况来说,手动创建类显得很繁琐,我们可以在生成 POJO 的同时,创建一个空白的并且继承原有POJO的类,需要添加字段的时候,直接在我们生成的类上添加想要的其他表字段要想达到以上效果,我们还是...转载 2020-03-04 09:16:50 · 352 阅读 · 0 评论 -
八、为DAO添加分页扩展
为什么要对DAO进行扩展? 在之前的篇幅中,我有介绍到,由jOOQ生成的DAO带有一些基础的CURD方法,另外还会针对每个字段生成一些查询方法。 但是这些方法比较单一,都是以单一字段为基础,进行查询操作,不足以面对复杂的业务场景。例如,我们业务中常用到的分页查询、多条件查询等,都没有在被封装在DAO中,只能用DSLContext的API来完成。 其实这些方法比较通用,我们可以通过一些的封装...转载 2020-03-04 09:15:40 · 303 阅读 · 0 评论 -
七、Spring Boot和jOOQ整合
在当前微服务盛行的情况下,Spring Boot或Spring Cloud为基础的微服务体系是主流, 也是目前业务场景中新的选型方向相对于直接使用Spring来说,利用Spring Boot来整合jOOQ相对来说简单很多Maven 依赖Spring Boot 官方有对 jOOQ 的支持,所以只需要简单的引用spring-boot-starter-jooq和对应的jdbc驱动即...转载 2020-03-04 09:14:57 · 1099 阅读 · 0 评论 -
六、多数据源处理
目前在微服务框架下,比较提倡单服务单库操作。但是某些历史包袱或者其他因素导致,导致需要在项目中同时访问多个数据库,本篇文章主要是讲解对于对于此情况的一些处理方式多数据库分为两种情况,两种情况的处理方式不太一样,第一种比较简单,第二种相对复杂一点,接下来会给大家仔细讲解两种情况的处理方式多个数据库在同一实例 多个数据库在不同实例多库同实例这种情况解决方案比较简单,只需要在代码生成...转载 2020-03-04 09:14:15 · 819 阅读 · 0 评论 -
六、jOOQ 和 Spring 整合
本章主要讲解 jOOQ 和 Spring 的基础整合方式,包括数据源的自动注入,DAO自动注入,以及事务管理。Spring Maven 相关依赖在原来依赖的基础上,还需要添加 Spring 相关的依赖,另外,利用SpringSpring 的基本依赖主要是其中的容器,注解,以及数据源相关依赖,连接池这里用的HikariCP,号称 Java 性能最高的数据库连接池<depende...转载 2020-03-04 09:13:18 · 243 阅读 · 0 评论 -
五、interfaces 和 daos
本章主要讲解一下 jOOQ 代码生成器的interfaces和daos配置, 这两个配置分别是生成表对应的接口和DAOinterfacesjOOQ在代码生成时,可以通过此配置,来为POJO和Record生成一个接口与表一一对应的接口,接口定义了getter/setter方法,并且定义了接口类型为参数的from/into方法。通过此配置,相同表的POJO和Record之间互相转换...转载 2020-03-04 09:12:19 · 268 阅读 · 0 评论 -
一、从零开始
jOOQ 简介jOOQ,是一个ORM框架,利用其生成的Java代码和流畅的API,可以快速构建有类型约束的安全的SQL语句jOOQ使我们的重心可以放在业务逻辑上,而Java与SQL的基础交互部分,都可以交给jOOQ去处理。jOOQ通用支持很多数据库,而且有商业版本和社区版本区别,商业版本和社区版本区别主要是支持数据库不一样,可以在其授权说明页面上看到各个版本对于数据库的支持情况,开源版本只...转载 2020-03-04 09:06:46 · 260 阅读 · 0 评论 -
二、基础CURD
通过DSLContextAPI 和RecordAPI,可以完成基础CURD操作。本篇主要通过一些实例代码,讲解最基础的用法。后面的相关篇幅中,也会说到一些扩展以及其他高级用法从此篇幅开始,以下代码块中不再详细编写关于DSLContext的创建过程,具体可以看section-1中讲解的基础初始化方式dslContext代表DSLContext实例 S1_USER由jOOQ插...转载 2020-03-04 09:08:57 · 707 阅读 · 0 评论 -
三、查询结果处理
POJO是一个简单的Java对象,主要是包含一些属性和getter/setter方法,在业务中常用到的是用于传输数据以及作为参数传递。 在Web应用的场景中,也通常用来和前端做数据交互jOOQ的代码生成器能够帮我们根据表结构生成对应的POJO,能很大程度上减少我们自己创建POJO的工作量,当然,此功能也是大部分ORM框架的必备功能。本章主要讲解各种方式将数据结果转换为我们想要的格式Fe...转载 2020-03-04 09:10:04 · 807 阅读 · 0 评论 -
四、jOOQ 系列教程 - Record 详解
Record 形式Record是jOOQ定义的用于储存数据库结果记录的一个接口,其主要是将一个表字段的列表和值的列表使用相同的顺序储存在一起,可以看做是一个用于储存列/值的映射的对象。通常有以下几种形式表记录与数据库表一一对应,如果包含主键,会继承UpdatableRecordImpl类,该类提供了使用update,deleteAPI进行数据操作。进行查询操作时,jOOQ会将结...转载 2020-03-04 09:02:52 · 2726 阅读 · 0 评论