```
/**
* @author 張躍帥
* @Description: 數據庫DML-執行器
* @date 2020/08/12
*/
public class DmlRun {
private static final DmlMapper dmlMapper = SpringUtil.getBean(DmlMapper.class);
/**
* 通用查詢-獲取List列表
*/
public static List<Dict> selectList(String sql) {
// 變量創建ArrayList
List<Dict> resultDictList = CollectionUtil.newArrayList();
// 判斷
if (StrUtil.isNotBlank(sql)) {
// 執行SQL
resultDictList = dmlMapper.selectList(sql);
} else {
// 拋出異常
throw new MyException(DmlExceptionEnum.SQL_NOT_NULL);
}
// 返回
return resultDictList;
}
/**
* 通用查詢-獲取一條數據
*/
public static Dict selectOne(String sql) {
// 變量創建Dict
Dict resultDict = Dict.create();
// 判斷
if (StrUtil.isNotBlank(sql)) {
// 執行SQL
resultDict = dmlMapper.selectOne(sql);
} else {
// 拋出異常
throw new MyException(DmlExceptionEnum.SQL_NOT_NULL);
}
// 返回
return resultDict;
}
/**
* 通用查詢-獲取總記錄數
*/
public static long selectCount(String sql) {
// 變量
long resultCount = 0L;
// 判斷
if (StrUtil.isNotBlank(sql)) {
// 執行SQL
resultCount = dmlMapper.selectCount(sql);
} else {
// 拋出異常
throw new MyException(DmlExceptionEnum.SQL_NOT_NULL);
}
// 返回
return resultCount;
}
/**
* 通用新增
*/
public static boolean insert(String sql) {
// 執行結果
boolean result = false;
// 判斷
if (StrUtil.isNotBlank(sql)) {
// 執行SQL
result = dmlMapper.insert(sql);
} else {
// 拋出異常
throw new MyException(DmlExceptionEnum.SQL_NOT_NULL);
}
// 返回
return result;
}
/**
* 通用-批量新增
*/
public static void saveBatch(String tableName, List<Dict> formDataList) {
// 判斷
if (StrUtil.isNotBlank(tableName) && formDataList != null && formDataList.size() > 0) {
// 獲取List第一條數據
Dict tableDcit = formDataList.get(0);
// 判斷
if (MapUtil.isNotEmpty(tableDcit)) {
// 變量參數
String tableColumnStr = "";
// Dict轉set集合
Set<String> tableSet = tableDcit.keySet();
// 遍歷
for (String key : tableSet) {
// 添加
tableColumnStr += StrUtil.toUnderlineCase(key) + StrUtil.COMMA + StrUtil.SPACE;
}
// 判斷
if (StrUtil.isNotBlank(tableColumnStr)) {
// 參數截取
String tableColumn = tableColumnStr.substring(0, tableColumnStr.length() - 2);
// 創建Dict
Dict tableDataMap = Dict.create();
// 添加
tableDataMap.put("tableName", tableName);
tableDataMap.put("tableColumn", tableColumn);
tableDataMap.put("tableDataList", formDataList);
// 執行SQL
dmlMapper.saveBatch(tableDataMap);
}
}
} else {
// 拋出異常
throw new MyException(DmlExceptionEnum.SQL_NOT_NULL);
}
}
/**
* 通用更新
*/
public static boolean update(String sql) {
// 執行結果
boolean result = false;
// 判斷
if (StrUtil.isNotBlank(sql)) {
// 執行SQL
result = dmlMapper.update(sql);
} else {
// 拋出異常
throw new MyException(DmlExceptionEnum.SQL_NOT_NULL);
}
// 返回
return result;
}
/**
* 通用刪除
*/
public static boolean delete(String sql) {
// 執行結果
boolean result = false;
// 判斷
if (StrUtil.isNotBlank(sql)) {
// 執行SQL
result = dmlMapper.delete(sql);
} else {
// 拋出異常
throw new MyException(DmlExceptionEnum.SQL_NOT_NULL);
}
// 返回
return result;
}
/**
* 通用執行任意Sql-返回true或false
*/
public static boolean runAnySql(String sql) {
// 執行結果
Boolean result = false;
// 判斷
if (StrUtil.isNotBlank(sql)) {
// 執行SQL
Boolean currentResult = dmlMapper.runAnySql(sql);
// 判斷
if (null == currentResult) {
// 賦值
result = true;
} else {
// 賦值
result = currentResult;
}
} else {
// 拋出異常
throw new MyException(DmlExceptionEnum.SQL_NOT_NULL);
}
// 返回
return result;
}
/**
* 通用執行任意Sql-返回String
*/
public static String runAnySqlToStr(String sql) {
// 執行結果
String result = null;
// 判斷
if (StrUtil.isNotBlank(sql)) {
// 執行SQL
String currentResult = dmlMapper.runAnySqlToStr(sql);
// 判斷
if (StrUtil.isNotBlank(currentResult)) {
// 賦值
result = currentResult;
}
} else {
// 拋出異常
throw new MyException(DmlExceptionEnum.SQL_NOT_NULL);
}
// 返回
return result;
}
}
- Jump簡介
- 技術架構
- 代碼規范
- 規范導讀
- JAVA規范
- 數據庫表設計規范
- 集成項目
- JDK1.8-pom.xml
- JDK21-pom.xml
- 項目結構
- 業務模塊-方法名稱規范
- 跨域配置
- License授權配置
- 公共字段自動填充
- 全局異常處理器
- PageOffice配置
- Beetl模板引擎配置
- application.properties
- application-prod.yml
- banner.txt
- logback-spring.xml
- jump-core (核心組件)
- Maven依賴
- 通用枚舉
- 公共數據狀態 - 枚舉
- 公共邏輯刪除 - 枚舉
- 公共操作編碼類型 - 枚舉
- 公共tree父節點 - 枚舉
- 公共是或否 - 枚舉
- 工具Util
- AopTargetUtil
- DownloadUtil
- GenerateNumUtil
- HttpServletUtil
- IpUtil
- JoinPointUtil
- MacUtil
- NetworkUtil
- ParamToUtil
- ResponseUtil
- TimeZoneDateUtil
- UaUtil
- 統一返回
- 結果對象
- 如何使用
- jump-cahche (緩存組件)
- Maven依賴
- Redis配置
- 緩存常量
- 工具Util
- RedisCacheUtil
- jump-idempotent (幕等組件)
- Maven依賴
- Context上下文
- 操作器
- 接口
- 如何實現
- AOP參數
- AOP使用方法
- jump-lock (分布式鎖組件)
- Maven依賴
- 枚舉
- AOP參數
- AOP使用方法
- 工具Util
- RedissonLockUtil
- Util使用方法
- jump-mybatis (mybatis組件)
- Maven依賴
- 基礎Entity
- 枚舉
- 查詢類型 - 枚舉
- 條件查詢
- search
- service
- 分頁結果集
- Mapper
- MyMapper
- 使用方法
- DDL操作
- DML操作
- 工具Util
- EntityUtil
- PageUtil
- TableUtil
- jump-dynamic-datasource (多數據源組件)
- Maven依賴
- Context上下文
- 操作器
- 接口
- 如何實現
- 工具Util
- DatasourceUtil
- 如何使用
- jump-satoken (satoken組件)
- Maven依賴
- Context上下文
- 操作器
- 接口
- 如何實現
- Satoken配置信息
- SatokenUser信息
- Redis緩存操作
- SatokenRedisCache
- SatokenUserRedisCache
- 放行白名單
- jump-oss (OSS組件)
- Maven依賴
- 工具Util
- OssFileUtil
- OssPlatformUtil
- 如何使用
- jump-xss (XSS組件)
- Maven依賴
- 白名單放行
- jump-email (郵件組件)
- Maven依賴
- Email客戶端信息
- Email發送參數
- 工具Util
- jump-websocket (WebSocket組件)
- Maven依賴
- 消息對象
- 工具Util
- 如何使用
- jump-weixin (微信組件)
- Maven依賴
- jump-system (系統管理組件)
- Maven依賴
- AOP
- 系統操作日志AOP
- 系統數據日志AOP
- 系統操作權限AOP
- 字典轉文本AOP
- Redis緩存操作
- SystemConfigRedisCache
- 工具Util
- LoginUserUtil
- SystemAreaUtil
- SystemHomeUtil
- SystemMenuUtil
- SystemOrgAdminUtil
- SystemOrgTypeUtil
- SystemRoleUtil
- SystemUserLoginAreaUtil
- SystemUserUtil
- jump-timer(定時器組件)
- Maven依賴
- 枚舉
- Api接口
- 工具Util
- ActionClassUtil
- TimerTaskUtil
- 如何使用
- jump-ueditor (富文本組件)
- Maven依賴
- 如何使用
- 配置 ueditor.config.js
- 后端 application.properties
- 前端 vue3
- vue-codemirror (代碼編譯器)
- npm依賴
- PageOffice整合
- Maven依賴
- License授權配置
- 枚舉
- 文件來源 - 枚舉
- 預覽文件類型 - 枚舉
- 文件預覽參數
- 下載文件
- 預覽文件
- 工具Util