1. 程式人生 > >java中輕量級資料庫ORM框架:JOOQ

java中輕量級資料庫ORM框架:JOOQ

1、使用maven下載

        <!-- https://mvnrepository.com/artifact/org.jooq/jooq -->
        <dependency>
            <groupId>org.jooq</groupId>
            <artifactId>jooq</artifactId>
            <version>3.9.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.jooq/jooq-meta -->
<dependency> <groupId>org.jooq</groupId> <artifactId>jooq-meta</artifactId> <version>3.9.5</version> </dependency> <!-- https://mvnrepository.com/artifact/org.jooq/jooq-codegen --> <dependency
>
<groupId>org.jooq</groupId> <artifactId>jooq-codegen</artifactId> <version>3.9.5</version> </dependency>

2、建立一個類,目的是為了獲取connection

DBUtil.java:

public class DBUtil {

    // 連線池
    static PoolProperties poolProperties = new
PoolProperties(){ { setUrl("jdbc:mysql://127.0.0.1/test?characterEncoding=UTF-8"); setUsername("root"); setPassword("root"); setDriverClassName("com.mysql.jdbc.Driver"); setMinIdle(5); //始終保留的連線的最小連線數,預設10 setMinIdle(10); //設定池內最大空閒連線數 setInitialSize(5); //啟動時初始連線數 預設10 setMaxActive(20); //最大活躍連線數 setTestOnBorrow(true); //取出連線時是否對其進行驗證 setValidationQuery("select 1"); //如果上面設定為true,則這裡要設定 } }; // 獲取資料庫連結 public static Connection getConnection() throws SQLException { DataSource dataSource = new DataSource(); dataSource.setPoolProperties(poolProperties); Connection connection = dataSource.getConnection(); return connection; } }

3、下面看怎麼使用JOOQ這個ORM框架?

    public static void main(String[] args) throws SQLException {

        DSLContext dslContext = DSL.using(DBUtil.getConnection(),SQLDialect.MYSQL);

        // 執行原始SQL
        Result<Record> recordResult =  dslContext.fetch("SELECT  * FROM users");

        // 迴圈列印結果集
        for (Record record : recordResult){
            System.out.println(record.get("name")); // 列印name欄位
        }
    }

我們使用ORM框架就是想少寫或者不寫SQL:

Result<Record> recordResult =  dslContext.select().from("users").fetch();

得到的結果一樣。

Result<Record> recordResult =  dslContext.select().from("users").orderBy(field("id").desc()).fetch(); //倒序

相關推薦

java輕量級資料庫ORM框架JOOQ

1、使用maven下載 <!-- https://mvnrepository.com/artifact/org.jooq/jooq --> <dependency> <gro

Android ORM 框架GreenDao 資料庫升級

前言 一,GreenDao 預設的升級方式 GreenDao 預設的升級方式是刪除所有舊版,在重新建新表,這樣一來使用者的本地歷史資料則會丟失,這點我們通過DaoMaster 的內部類 DevOpenHelper 原始碼可以瞭解到。

Android開源資料庫ORM框架GreenDao學習(三)封裝工具類使用

部落格轉載地址:http://www.it165.net/pro/html/201401/9026.html         上一篇中講解了基本的增刪改查,本篇繼續講解 QureyBuilder 使用,及工具類封裝使用   一、使用QureyBuilder實現表的增刪改查

javaRandomAccessFile類的作用對指定文件可以進行讀寫的操作

cnblogs 讀寫 acc com ces 作用 分享 進行 .com 在java中RandomAccessFile類的作用:對指定文件可以進行讀寫的操作

Java常見數據結構list與map -底層如何實現

增強for 繼續 lin lec -- 什麽 num nsvalue index 1:集合 2 Collection(單列集合) 3 List(有序,可重復) 4 ArrayList 5

JAVA常用IO流類FileInputStream和FileOutputStream

table string [] 文件中 讀取 描述符 off fis 系統資源 FileInputStream 用於讀取本地文件中的字節數據,繼承自InputStream類 構造方法摘要 FileInputStream(File file) 通

java異常這種技術框架是怎麽工作的?

行程 html gin 視頻 down sun公司 win works tro 異常這種技術框架是怎麽工作的?【新手可忽略不影響繼續學習】 (視頻下載) (全部書籍)馬克-to-win:註意是運行程序時,而不是編譯時,當一個非正常情況出現,比如除0,就叫異常情況。馬克-to

Java獲取資料庫的資料,獲取下拉列表的資料, 獲取省、市、區的資料,根據上一層去控制下一層

$(function() { //validateRule(); getDept(); $("select[name='deptNamee']").change(function() { var deptCode = $("select[name='deptN

#Java很重要的概念叢集與分散式的區別

場景 小飯店原來只有一個廚師,切菜洗菜備料炒菜全乾。後來客人多了,廚房一個廚師忙不過來,又請了個廚師,兩個廚師都能炒一樣的菜,這兩個廚師的關係是叢集。為了讓廚師專心炒菜,把菜做到極致,又請了個配菜師負責切菜,備菜,備料,廚師和配菜師的關係是分散式,一個配菜師也忙不過來了,又請了個配菜師,兩個配菜

新手入門javaSpring+SpringMVC+MyBatis框架整合詳細步驟

Springmvc+spring+mybatis環境搭建 注意:這裡我是用Spring的famerwork的參考文件聯合搭建 搭建spring環境 Spring的基本包+SpringMVC基本+MyBatis基本+mybatis-spring整合,增加tx包,aop包,c

JAVA的兩個對比Comparable & compareTo & Comparator & compare

JAVA中的兩個對比:Comparable & compareTo & Comparator & compare java中的對比相關的幾個介面長的還都挺像,搞不好就容易搞忘了是哪個了。所以抽出時間來看看他的原始碼,梳理梳理這2個介面,一方面是個總結,同時也方便記

輕量級資料庫訪問框架FastSQL

目錄 1 簡介 FastSQL一個基於spring-jdbc的簡單ORM框架,它支援sql構建、sql執行、命名引數繫結、查詢結果自動對映和通用DAO。結合了Hibernate/JPA快速開發和Mybatis高效執行的優點。 FastSQL可以完全滿足你控制慾

Java的RPC分散式範例RMI

什麼是RMI:        RMI是遠端方法呼叫(Remote Method Invocation)。能夠讓在某個Java虛擬機器上的物件像呼叫本地物件一樣呼叫另一個Java 虛擬機器中的物件上的方法。將網路通訊和併發控制對程式開發人員透明化,那麼將極度簡化此類應用的開發

JAVA的三大集合框架

一、List集合 1、List實現的超級父類介面:Collection 2、瞭解ArrayList類 A):定義的格式:ArrayList<具體型別> 集合名 =  new ArrayL

Java操作資料庫語句JDBC基礎

JDBC JDBC Java Database connectivity Java資料庫連線規範(一套介面) 由SUn公司提供的 JDBC四個核心類 DriverManager 建立連線 Connection 連線

Java的三元運算子?: error not a statement

執行以下程式碼時報錯: /* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of

android ,java的記憶體畫分棧,堆,靜態區,常量去,方法區。。。簡單梳理

記憶體的劃分整體說來有以下六種: 1. 暫存器(register)。------最快的儲存區, 由編譯器根據需求進行分配,我們在程式中無法控制. 2. 棧(stack)。------存放基本

SQL Server 2012的安裝與環境配置以及在Java連線資料庫

自學Java也已快有一個月了,雖然本人從事的是FPGA開發的工作,但是對於軟體開發興趣盎然,沒辦法只能工作之餘自己慢慢自學了,這應該是我的第一篇Java學習文章,希望以後自己能夠堅持,記錄一些學習過程

如何把dmp檔案匯入oracle12c,並在java實現資料庫的接連

步驟: 第一步:執行命令cmd,輸入 imp C##LIYX/[email protected] file="F:\huairui\java\oracle-db\jeecg3.6.5-oracle11g-20160718.dmp" full="y" 說明:C#

關於java資料庫插入資料時,報錯Caused by: java.lang.NullPointerException的問題

今天在實現一個update資料時出現一個錯誤; org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: