封裝資料庫增刪改查方法

2021-08-20 19:01:53 字數 2385 閱讀 5273

封裝好後,我們稱這個類為basedao.以後任何實現類要運算元據庫,都需要繼承這個basedao.而且,這個basedao並不僅限這3個方法,在這個basedao類裡,其他常用操作應該在這基本的增刪改查方法的基礎上進行再封裝,這樣會減少我們很多重複性的操作.

/**

*@author: zsb

*@description: 封裝的增刪改方法

*@params: string sql, object...params

*@date: 2018/6/1

*/public

intupdate(string sql, object...params) catch (sqlexception e)

return result;

}

看到過使用list>的封裝方式,感覺並不方便.

這裡使用反射+泛型的方式去封裝這個查詢方法,通過這次封裝,也明白了一些orm框架為什麼需要各種對映檔案,表列名與實體類屬性名應該保證相同.

/**

*@author: zsb

*@description: 封裝的查詢方法,使用泛型獲取儲存所有的查詢資訊

*@params:

*@date: 2018/6/1

*/public listqueryforlist(classclazz, string sql, object... params)

list.add(newobject);

}} catch (sqlexception | illegalacces***ception | instantiationexception | nosuchmethodexception | invocationtargetexception e)

return list;

}

/**

*@author: zsb

*@description: 向預編譯preparestatement的sql語句裡新增對應的屬性

*@params:

*@date: 2018/6/1

*/public

void

setparams(preparedstatement ps, object... params) throws sqlexception

}}

通過使用以上封裝的增刪改查方法,在處理各種資料庫操作時,確實方便很多.在這個基礎上,再進行多層的封裝,可以減少各種表名,引數的填寫,直接可以通過方法名識別出當前需要操作的**,以及可以去除過多的引數.

以下舉例

/**

*@author: zsb

*@description: 用於將table表裡的資料進行定製排序輸出指定內容,這種語句很常用

*@params:

*@date: 2018/6/4

*/public

listqueryrankingbycondition(classclazz, string table, string condition, string asc, int beginrow, int rownumber)

這個方法的引數很多,但是這個方法很常用,有封裝的價值.操作不同的表的時候,我們會有不同的實現類,而這個基本的增刪改查類(稱為basedao)會是它們的父類,

/**

*@author zsb@myblog

*@description: 包含各種查詢方法, 使用單例模式設計

*@modified by:

*@date 2018/6/2

*/public

class

articledaoimpl

extends

basedao

implements

articledao

//單例模式,用於獲得例項

public

static

synchronized articledaoimpl getinstance()

return articledaoimpl;

}/**

*@author: zsb

*@params: articlenum 列表的長度

*@date: 2018/6/4

*/@override

public listqueryuptodatearticle(int articlenum)

}

這樣,在實際使用時,就只需要填寫需要顯示多少個article就可以了.雖然我們的其他實現類繼承了basedao,但是我並不建議直接使用basedao裡封裝好的方法,因為引數太多,而且在實際使用是,目的不明確,不能通過方法名直接判斷具體的相關的操作資訊.

MySQL資料庫封裝增刪改查

建立乙個公共類 用於方便增刪改查操作 public class commonutils public static int commonupdate string sql,object.objects connection conn null preparedstatement prst null ...

資料庫增刪改查

我們知道當我們的表建立後重複執行會出錯,一般我們會這麼處理 create table if not exists stuinfo 學了新建表我們還應該知道乙個東西,如何刪除表 deop table table name 怎麼檢視別人的見表語句呢 show create table stuinfo 怎...

資料庫增刪改查

import pymysql def getmysqlconn conn pymysql.connect host 172.16.238.130 port 3306,db my mysql user root password 123456 charset utf8 return conn def ...