tim工具包-dao層查詢工具

1. 簡介

dao 層查詢工具在tim工具包中起着至關重要的因素,集成hibernate jpa 底層,封裝了一層快速開發事項類,使用簡單維護方便。

2. ApiSql 說明

/**
 * dao 層工具
 */
public interface ApiSql {
    /**
     * 獲取數據列表
     * @param param 參數
     * @param group
     * @param code
     * @return
     */
    List<Map<String, Object>> runSqlByParam(Map<String, Object> param, String group, String code);

    /**
     * 獲取分頁
     * @param param
     * @param group
     * @param code
     * @return
     */
    ApiPage runSqlByParamPage(Map<String, Object> param, String group, String code);

    /**
     * 獲取單個數據
     * @param param
     * @param group
     * @param code
     * @return
     */
    Map<String, Object> runSqlByParamItem(Map<String, Object> param, String group, String code);

    /**
     * 執行腳本,注意參數變量?不會自動去掉條件
     * @param param
     * @param group
     * @param code
     */
    void exeSql(Map<String, Object> param, String group, String code);
    /**根據對象插入對應的表*/
    <T> void insertTable(T param, String tableName);

    /**根據對象插入對應的表,notKeys 某些屬性不插入*/
    <T> void insertTableNotKey(T param, String tableName,String...notKeys);

    /**
     * 執行一條腳本
     * @param param 對應參數
     * @param paramKeys 參數keys
     * @param sql 腳本
     */
    void exeSqlBySql(Map<String, Object> param, String paramKeys, String sql);

    /**
     * 執行腳本 獲取單個數據
     * @param param 對應參數
     * @param paramKeys 參數keys
     * @param sql 腳本
     * @return
     */
    Map<String, Object> getItemBySql(Map<String, Object> param, String paramKeys, String sql);

    /**
     * 執行腳本 獲取單個數據
     * @param param 對應參數
     * @param paramKeys 參數keys
     * @param sql 腳本
     * @return
     */
    List<Map<String, Object>> getListBySql(Map<String, Object> param, String paramKeys, String sql);

    //組合參數sql
    String getSql(Map<String, Object> param, String group, String code);

    /**
     * 根據腳本獲取分頁數據
     * @param param 參數
     * @param paramKeys 參數key 值
     * @param sql 腳本
     * @return
     */
    ApiPage getPageSql(Map<String, Object> param, String paramKeys, String sql);

    /**
     * 獲取單個表數據
     * @param tableName 表名稱
     * @param keyName 對應key名稱
     * @param keyValue 參數值
     * @return
     */
    Map<String, Object> item(String tableName, String keyName, String keyValue);

    /**
     * 根據表名稱獲取多個數據
     * @param tableName 表名稱
     * @param keyName 對應的key值
     * @param keyValue 參數值
     * @return
     */
    List<Map<String, Object>> list(String tableName, String keyName, String keyValue);

    /**
     * 刪除表數據
     * @param tableName 表名稱
     * @param keyName 對應的key值
     * @param keyValue 參數值
     * @return
     */
    boolean del(String tableName, String keyName, String keyValue);

}

3 數據庫腳本調用說明

調用數據庫腳本在ApiSql 中對應已下個接口

  • runSqlByParam 獲取數組數據
  • runSqlByParamPage 分頁獲取數據
  • runSqlByParamItem 獲取單個數據
  • exeSqlzhi

3.1 第一步將需要獲取數據的腳本寫入sys_t_sql 中配置好groups codes

不建議直接在數據庫中操作,可以下載tim-db-admin 進行界面添加
tim-db-admin 可查看另外一篇文章 tim工具包-tim-db-admin 管理平臺

在這裏插入圖片描述
param_keys 是從傳入的參數中獲取值,順序與?號對應順序

3.2 第二部代碼調用
在這裏插入圖片描述

  • map 爲傳入的參數
  • sys 爲對應的groups param_config 爲對應的code
  • runSqlByParamItem 爲獲取單個數據,對應的api可參考文章上面中的2.Apisql 說明

3.3 腳本調用後的效果在這裏插入圖片描述

4 腳本直接調用說明

字符串腳本調用,直接使用sql腳本用已下幾個接口

  • getItemBySql 獲取單個數據
  • getListBySql 獲取一組數據
  • exeSqlBySql 執行腳本

4.1 執行腳本案例
在這裏插入圖片描述

paramKeys 爲map裏面數據的key名稱
按照順序取出數據放入問號中

5 單表數據插入

單表數據插入,將對象對應的屬性插入表中

  • void insertTable(T param, String tableName); 插入單表數據
  • void insertTableNotKey(T param, String tableName,String…notKeys); 插入單表數據局,排除notKeys 數據
    在這裏插入圖片描述

logBean 爲日誌對象,t_app_merga_log 爲記錄的日誌表,type 爲排除的字段

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章