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 爲排除的字段