dbutils學習筆記

2021-08-21 18:06:24 字數 1590 閱讀 6873

剛昨天分離了dao層**:

自定義工具類分離dao層

今天又學習了dbutils這個工具元件:

我以為之前的分離dao層已經算是」極致」分離了,結果這個工具come out

讓之前我寫的那些冗餘**縮得只剩幾行,真的是進步啊。

其實它的這個dbutils這個工具元件也算是封裝了我的dao層,只是暴露了介面給我們呼叫而已。

工具是方便了操作 不過工具會讓人變傻,讓**更像是貼上複製的搬磚,  

所以底層的實現還是得一清二楚。

主要需要的實體類:不過一般都是前兩個就行了。

beanhandler: 查詢返回單個物件

beanlisthandler: 查詢返回list集合,集合元素是指定的物件

arrayhandler, 查詢返回結果記錄的第一行,封裝對物件陣列, 即返回:object

arraylisthandler, 把查詢的每一行都封裝為物件陣列,再新增到list集合中

scalarhandler 查詢返回結果記錄的第一行的第一列 (在聚合函式統計的時候用)

maphandler 查詢返回結果的第一條記錄封裝為map

class dbutils 

//批量處理修改操作

@test

void batchtest() throws exception , });

dbutils.close(conn);

}// 自定義方法

@test

public

void

testquery() throws exception

resultsetmetadata resultsetmetadata = arg0.getmetadata();

int count = resultsetmetadata.getcolumncount();

student student = new student();

for (int i = 0; i < count; i++) catch (exception e)

}return student;}};

string sql = "select *from student where id=?";

connection conn = jdbcutil.getconnection();

queryrunner queryrunner = new queryrunner();

student student = queryrunner.query(conn, sql, resultsethandler, 11);

system.out.println(student);

dbutils.close(conn);

}//處理單個查詢

@test

void queryonetest() throws exception

//處理多個查詢

@test

void querymanytest() throws exception

}

學習MySQL和資料庫(九) DBUtils

開源的jdbc工具類庫,對jdbc的簡單封裝 該類封裝了sql的執行,是線性安全的。queryrunner類提供了兩個構造方法 public int update connection conn,string sql,object params throws sqlexception 用來執行乙個更...

dbUtils簡單實現原理

在資料庫初級階段,通過連線池連線資料庫,然後在將查詢的結果轉換為物件,過程太過複雜,以下便是實現對此類過程的簡單封裝,另外可以根據此類的封裝,簡單的理解一下spring 中jdbctemplate的query 和update 方法。public class dbutils public dbutil...

給tornado新增dbutils支援

開啟tornado的database.py模組找到reconnect函式 新增dbutils資料池支援後 如下 def reconnect self closes the existing database connection and re opens it.self.close try pool...