public static Validation checkValidate( List<ValidatorConfigBean> valList, Map<String, String[]> paramMap, HttpServletRequest req) { Validation validation = new Validation(); if (valList == null || valList.isEmpty()) return validation; // 启动验证器 for (int i = valList.size() - 1; i > -1; i--) { ValidatorConfigBean val = valList.get(i); ValidatorIF validator = null; if (!"".equals(val.getName())) { // 根据name属性实例化相关的验证器,如果找不到,就根据class属性实例化 validator = ValidatorFactory.getValidator(val.getName()); if (validator == null) try { validator = (ValidatorIF) Class.forName(val.getClazz()).newInstance(); } catch (Exception e) { log.error(StringUtil.getExceptionString(e)); } } if (validator == null) continue; Map<String, Map<String, String>> err = validator.validate(val, paramMap, req).getErrors(); for (Entry<String, Map<String, String>> en : err.entrySet()) { String key = en.getKey(); Map<String, String> value = en.getValue(); if (validation.getErrors().containsKey(key)) validation.getErrors().get(key).putAll(value); else validation.getErrors().put(key, value); } } return validation; }
private <T> List<T> query(String sql) { List<T> result = null; try { if (Map.class.isAssignableFrom(this.clazz)) { Connection con = ds.getConnection(); if (args != null && args.size() > 0) { result = (List<T>) JdbcUtil.getListWithArgs(con, clazz, sql, args.toArray(new Object[] {})); } else { result = (List<T>) JdbcUtil.getList(con, clazz, sql); } } else { if (args != null && args.size() > 0) { result = (List<T>) DAOFactory.getSelectDAO(dsName) .selectBySQL(clazz, sql, args.toArray(new Object[] {})); } else { result = (List<T>) DAOFactory.getSelectDAO(dsName).selectBySQL(clazz, sql); } } // this.clear(); if (result != null && result.size() > 0) { for (T t : result) { // ToOne relation class cascade select final String[] fields = ORMConfigBeanUtil.getToOneField(t.getClass()); if (fields == null || fields.length == 0) continue; DAOFactory.getCascadeDAO(dsName).select(t, fields); } } return result; } catch (Exception e) { log.error("sql-->" + sql + "exception:" + StringUtil.getExceptionString(e)); throw new DAOException(sql + " execute exception", e); } }
public int execute() { int id = -1; String sql = this.sql.toString().replace("${_where_}", this.condition.toString()).replace("'?'", "?"); DataSource ds = DataSourceWrapCache.get(dsName); try { int rs = 0; if (args != null && args.size() > 0) { rs = (Integer) JdbcUtil.updateWithArgs(ds.getConnection(), sql, args.toArray(new Object[] {})); } else { rs = (Integer) JdbcUtil.update(ds.getConnection(), sql); } if (rs > 0 && sql.contains("INSERT INTO")) { if (Map.class.isAssignableFrom(clazz)) { if (map == null) { map = new HashMap<String, Object>(); map.put("idColumn", "id"); map.put("table", this.table); } else if (map.get("idColumn") == null) { map.put("idColumn", "id"); } id = (Integer) DAOUtil.selectMaxId(map, ds.getConnection(), dbType); } else { id = (Integer) DAOUtil.selectMaxId(clazz, ds.getConnection(), dbType); } } } catch (SQLException e) { log.error("sql-->" + sql + "exception:" + StringUtil.getExceptionString(e)); throw new DAOException(sql + " execute exception", e); } // this.clear(); return id; }