Java實現資料庫查詢自動封裝成物件

2021-08-14 10:54:02 字數 1030 閱讀 2752

用過框架的人應該都知道,像mybatis這種將資料庫查詢出的結果自動封裝成物件是如何實現的呢?這篇文章將會模仿此功能。

1、首先設計乙個工具類,用來獲取資料庫連線,關閉資源

public class connutil  catch (classnotfoundexception e) 

} //獲取資料庫連線

public static connection getconn()

} catch (sqlexception e)

return conn;

} //關閉資源

public static void closeall(resultset rs,preparedstatement ps,connection conn)

if (ps!=null)

if (conn!=null)

} catch (sqlexception e)

}}

2、sql預編譯,動態化新增引數(引數的順序要對應),返回preparedstatement物件。

public static preparedstatement getps(preparedstatement ps, object... objects)  catch (sqlexception e) 

} return ps;

}

3、將查詢結果與物件屬性繫結,返回乙個hashmap物件

public static mapsetmap(object obj,resultset rs) catch (exception e) }}

} }

基本利用的反射的原理以及字串的操作,需要注意,資料庫欄位與實體類屬性要對應,如資料庫欄位name,實體類是name,並且需要對應的set方法,setname。或者我們可以自定義註解,來對應實體類屬性和資料庫字段以及實體類和表名對應,參照mybatis-plus的註解tablefield來指定表明,tablename來指定字段。

JAVA 資料庫操作封裝(2)

相關資料 function executeupdate throws sqlexception public void executebatch throws sqlexception function addbatch param value string throws sqlexception ...

java原生資料庫操作封裝

用來完成運算元據庫集合操作的類 封裝了連線資料庫 執行語句 查詢結果 關閉資料庫完整的操作方法 author 15196 public class completeope 對外開放的方法,採用策略模式,先初始化conn ps rs然後通過doresult執行查詢結果操作,最後關閉資料庫 通過sql ...

資料庫查詢 IN 自動排序問題

在進行資料查詢的時候加上in的話是會自動進行排序的,現整理一些 備忘 sqlserver in的引數為int select from mytabs where idin 1,2,3,4 order by charindex ltrim id 1,2,3,4,背景標紅的兩個逗號不能省略 in的引數為v...