JOOQ 入门--简介
序言
新接触的项目中存在的大量的原生JDBC的代码,满屏幕都是PrepareStatement 和ResultSet,
以及各种关闭资源的语句。
所以有了用开源框架去重写的想法,然后就找到了JOOQ。
JOOQ是什么?
JOOQ是一款ORM框架。

JOOQ的作用以及对比其他ORM框架有哪些优点?
在官方的使用手册中,将其和JPA、LINQ、JDBC分别作了比较,
通过使用之后说一下JOOQ和JDBC的对比优点:
1.JOOQ 写DDL语句就像是直接写Java代码,非常方便。
2.不需要拼接各种字符串来拼接SQL语句。(拼接SQL多痛苦在用JDBC的时候经历过,少一个空格都会折磨死)
3.不用去写各种ResultSet、PrepareStatement 有关的代码
4.同样支持字符串拼接SQL
5.支持插件自动生产实体类代码
应用举例:
//查询
DSLContext create = DSL.using(connection);
Result<Person> res = create.selectFrom(PersonMeta.PERSON)
.where(PersonMeta.PERSON.NAME.eq("zhangsan"))
.fetch();
查询支持各种join语句。
总结
JOOQ支持事务,支持市面上常用的数据库。
这里的举例只举了一个简单的查询,后续会用一个SpringBoot + Maven + MySQL的一个项目
按照环境配置,配置Maven 插件 jooq-generator,实际应用三方面来说说JOOQ如何使用。
参考:https://www.jooq.org/download/#
JOOQ 入门--简介的更多相关文章
- 掌握 Ajax,第 1 部分: Ajax 入门简介
转:http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作 ...
- MongoDB入门简介
MongoDB入门简介 http://blog.csdn.net/lolinzhang/article/details/4353699 有关于MongoDB的资料现在较少,且大多为英文网站,以上内容大 ...
- (转)Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
- NodeJS入门简介
NodeJS入门简介 二.模块 在Node.js中,以模块为单位划分所有功能,并且提供了一个完整的模块加载机制,这时的我们可以将应用程序划分为各个不同的部分. const http = require ...
- ASP.NET Core学习之一 入门简介
一.入门简介 在学习之前,要先了解ASP.NET Core是什么?为什么?很多人学习新技术功利心很重,恨不得立马就学会了. 其实,那样做很不好,马马虎虎,联系过程中又花费非常多的时间去解决所遇到的“问 ...
- webservice入门简介
为了梦想,努力奋斗! 追求卓越,成功就会在不经意间追上你 webservice入门简介 1.什么是webservice? webservice是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓的远 ...
- Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
- Android精通教程-第一节Android入门简介
前言 大家好,给大家带来Android精通教程-第一节Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cease to be ...
- Nginx入门简介
Nginx入门简介 Nginx 介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二 ...
随机推荐
- C# winform 将其他程序嵌入Form窗体
嵌入类 public class ExeImpaction { public void FrmClosing() { try { if (!process.HasExited) process.Kil ...
- elementUI 限制上传个数limit
:limit='1' // 个数限制.
- cmd登录mysql、查所有的库、查所有的表、查表下的所有字段
一.设置好mysql的环境变量,cmd之后输入mysql -u root -p 输入password进入mysql 二.展示所有的库名show batabases: 三.选择一个库名use dem ...
- termcap - 终端功能数据库
描述 DESCRIPTION termcap 数据库是一个过时 (obsolete) 工具,用来描述以字符为单位的终端和打印机的功能.它之所以被保留,是为了兼容古老的程序:新程序应当使用 termin ...
- git 分支相关操作
git status 查看当前工作区 会显示分支 如下 D:\工程\vue_study\testplat_vue>git statusOn branch masternothing to co ...
- ubuntu颜色配置
对于刚接触ubuntu的同学们,打开终端(ctrl+alt+T),会发现里面都是一个颜色,不管是用户名.主机名还是命令都是白色,当然,用 ls 列出文件的时候是会多一种颜色的.即使这样,对开发人员来说 ...
- logo的普遍写法
h1为了搜索引擎优化<div class="logo"> <h1> <a href="#">XX</a> < ...
- 2.java中c#中statc 静态调用不同之处、c#的静态构造函数和java中的构造代码块、静态代码块
1.java和c#静态成员调用的不同之处 static 表示静态的,也就是共享资源,它是在类加载的时候就创建了 java中 可以通过实例来调用,也可以通过类名.成员名来调用,但是一般最好使用类名. ...
- redis怎么实现FIFO队列思想
队列(FIFO)通过插入和弹出不同方向操作就可以实现,栈(FILO)插入和弹出相同方向的操作就可以实现:
- Android中的surfaceHolder.lockCanvas(null)返回为null详解
对于新手学习SurfaceView的时候获取lockCanvas的时候总是返回null的问题很是纠结 canvas = surfaceHolder.lockCanvas(new Rect(0, 0, ...