如果你要使用Hutool操作數據庫,首先要引入Jar包
import cn.hutool.db.Entity;
然后你就可以使用數據庫了,使用數據庫的方法是Hdb.use().query()
,這里的use()不帶參數,默認操作的是OA平台數據庫,對應的是數據庫ec20210511
使用query()方法執行sql語句后,返回的數據是List集合,元素類型為Entity。
其他數據庫的操作可以在下面的網址找到對應用法:
https://www.hutool.cn/docs/#/db/數據庫簡單操作-Db
如果你執行的是查詢操作,那么你可以使用一個加強for循環遍歷List,然后得到某個字段的值,比如這樣:
public static void main(String args[]) throws SQLException {
List<Entity> list = HDb.use().query("select * from dbo.formtable_main_58");
//在sql語句中查詢條件中帶了中文使用'',這里就算使用了''可能由於idea對中文的編碼方式和sqlserver不一樣還是沒有結果
for(Entity A : list){
//得到requestId這個字段的值,所以你想得到哪個字段的值就使用getStr()方法就好了
System.out.println(A.getStr("requestId"));
}
}
這里引出一個疑問,比如執行了查詢操作,返回值類型是List,如何把這些List中所有的字段都答應出來呢?而且還要以JSON格式
在Hutool中,作者封裝了JSON的類,由於我們需要將List集合中的Entity對象轉換成JSON對象,所以我們需要使用到JSON工具類--JSONUtil,你需要引入對應JAR包import cn.hutool.json.JSONUtil;
相關的JSON信息查看
https://www.hutool.cn/docs/#/json/JSONUtil
public static void main(String args[]) throws SQLException {
List<Entity> list = HDb.use().query("select * from dbo.formtable_main_58");
for(Entity A : list){
// System.out.println(A.getStr("requestId"));
//toJsonStr()返回的String對象
System.out.println(JSONUtil.toJsonStr(A));
}
}
使用JSONArray可以達到相同的效果,在使用JSONArray之前需要先引入JAR包import cn.hutool.json.JSONArray;
List<Entity> list = HDb.use().query("select khmc,xsyxm from dbo.formtable_main_58");
// JSONArray array = JSONUtil.createArray();
JSONArray array = new JSONArray(list);
for(int i = 0; i < array.size(); i++){
System.out.println(array.get(i).toString());
}
// for(Entity A : list){
// System.out.println(A.getStr("requestId"));
// System.out.println(JSONUtil.toJsonStr(A));
// }
}
下面試試往數據庫中寫數據