使用泛型實現可重用的DAO

來源:互聯網
上載者:User
import java.util.LinkedHashMap;import com.itcast.bean.QueryResult;public interface DAO {/** * 儲存實體 * @param entity 實體類 */public void save(Object entity);/** * 更新實體 * @param entity 實體類 */public void update(Object entity);/** * 刪除實體 * @param entityClass 實體類 * @param entityid 實體類id */public <T> void delete(Class<T> entityClass, Object entityid);/** * 刪除實體 * @param entityClass 實體類 * @param entityids 實體類id數組 */public <T> void delete(Class<T> entityClass, Object[] entityids);/** * 查詢實體 * @param <T> * @param entityClass 實體類 * @param entityid 實體類id * @return */public <T> T find(Class<T> entityClass, Object entityid);/** * 獲取分頁數據 * @param <T> * @param entityClass 實體類 * @param firstindex 開始查詢的記錄的索引 * @param maxresult 需要查詢出來的記錄數 * @param wherejbql 過濾查詢語句 * @param orderby 排序查詢語句雜湊鏈 * @return */// 增加根據實體類的屬性進行升序或降序排列功能,通過LinkedHashMap實現// 構造一個排序key1 asc,key2 desc...public <T> QueryResult<T> getScrollData(Class<T> entityClass,int firstindex, int maxresult,String wherejbql,Object[] queryParams , LinkedHashMap<String, String> orderby);/** * 過濾分頁查詢,但是不排序 * @param <T> * @param entityClass 實體類 * @param firstindex 開始查詢的記錄的索引 * @param maxresult 需要查詢出來的記錄數 * @param wherejbql * @param queryParams * @return */public <T> QueryResult<T> getScrollData(Class<T> entityClass,int firstindex, int maxresult,String wherejbql,Object[] queryParams);/** * 排序分頁查詢 * @param <T> * @param entityClass 實體類 * @param firstindex 開始查詢的記錄的索引 * @param maxresult 需要查詢出來的記錄數 * @param orderby * @return */public <T> QueryResult<T> getScrollData(Class<T> entityClass,int firstindex, int maxresult, LinkedHashMap<String, String> orderby);/** * 分頁查詢 * @param <T> * @param entityClass 實體類 * @param firstindex 開始查詢的記錄的索引 * @param maxresult 需要查詢出來的記錄數 * @return */public <T> QueryResult<T> getScrollData(Class<T> entityClass,int firstindex, int maxresult);/** * 查詢出所有結果 * @param <T> * @param entityClass 實體類 * @return */public <T> QueryResult<T> getScrollData(Class<T> entityClass);}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.