public JSONObject megerSql(Integer tableId, Integer fieldId, String fieldName, String sql) throws Exception { //参数判断 if (tableId == null || fieldId == null || !StringUtils.hasText(fieldName) || !StringUtils.hasText(sql)) { LOG.error("通过SQL插入字典值错误:参数为空 tableId-{} fieldId-{} fieldName-{} sql-{}", tableId, fieldId, fieldName, sql); return null; } LOG.info("通过SQL插入字典值:参数 tableId-{} fieldId-{} fieldName-{} sql-{}", tableId, fieldId, fieldName, sql); String factoryId = UserInfoUtil.getFactoryIdByToken(); //判断 SQL 是否包含修改数据库部分 List<String> list = new ArrayList<>(); list.add("update"); list.add("delete"); list.add("insert"); for (String str : list) { if (str.equalsIgnoreCase(sql)) { LOG.error("通过SQL插入字典值错误:SQL包含非查询关键词-{}", str); return null; } }
时间: 2024-03-29 18:40:19 浏览: 62
这段代码是用于合并SQL语句的方法,在合并前对参数进行了判断,如果参数不符合要求,则会抛出异常并返回null。然后判断SQL语句是否包含修改数据库的关键词(例如update、delete、insert),如果包含则会抛出异常并返回null。这是一种安全性校验的方式,以防止非法的SQL语句对数据库进行恶意操作。您还有其他问题吗?
阅读全文