public String updateModifiedOnlySql(ValueObject obj, String[] fields) throws SQLException { if ((obj instanceof PT_KICA_ERR_LOGEntity) == false) { throw new SQLException("DAO 에러(1): PT_KICA_ERR_LOG : updateModifiedOnly() "); } PT_KICA_ERR_LOGEntity entity = (PT_KICA_ERR_LOGEntity) obj; HashMap clobs = new HashMap(); if (fields == null) throw new SQLException("Field Name can not be Null"); StringBuffer setString = new StringBuffer(); boolean flag = false; for (int i = 0; i < fields.length; i++) { if (fields[i] == null) throw new SQLException("Field Name can not be Null"); if (default_update_field.containsKey(fields[i]) == false) { if (flag) setString.append(","); flag = true; if (clobs.containsKey(fields[i])) { setString.append(fields[i]).append("=?"); } else { setString.append(fields[i]).append("=").append(toDB(entity.getByName(fields[i]))); } } } if (flag = false) throw new SQLException("Nothing to update"); StringBuffer sb = new StringBuffer(); sb.append("update PT_KICA_ERR_LOG set ").append(setString.toString()).append(" where 1=1 "); sb.append(" and SEQ = ").append(toDB(entity.getSEQ())); return sb.toString(); }
/////////////////////////////////////////////////////////////////////////////////// // 특정필드를 제외한 전체 필드를 수정한다. public int updateExcludeOnly(ValueObject obj, String[] fields) throws SQLException { fields = KJFUtil.getDifferenceOfSets(default_fields, fields); if ((obj instanceof PT_KICA_ERR_LOGEntity) == false) { throw new SQLException("DAO 에러(1): PT_KICA_ERR_LOG : updateModifiedOnly() "); } PT_KICA_ERR_LOGEntity entity = (PT_KICA_ERR_LOGEntity) obj; HashMap clobs = new HashMap(); Connection conn = null; PreparedStatement ps = null; int result = 0; if (fields == null) throw new SQLException("Field Name can not be Null"); StringBuffer setString = new StringBuffer(); boolean flag = false; for (int i = 0; i < fields.length; i++) { if (fields[i] == null) throw new SQLException("Field Name can not be Null"); if (default_update_field.containsKey(fields[i]) == false) { if (flag) setString.append(","); flag = true; if (clobs.containsKey(fields[i])) { setString.append(fields[i]).append("=?"); } else { setString.append(fields[i]).append("=").append(toDB(entity.getByName(fields[i]))); } } } if (flag = false) throw new SQLException("Nothing to update"); StringBuffer sb = new StringBuffer(); sb.append("update PT_KICA_ERR_LOG set ").append(setString.toString()).append(" where 1=1 "); sb.append(" and SEQ = ").append(toDB(entity.getSEQ())); KJFLog.sql(sb.toString()); try { conn = this.getConnection(); ps = conn.prepareStatement(sb.toString()); int k = 1; for (int i = 0; i < fields.length; i++) { if (clobs.containsKey(fields[i])) { ps.setString(k++, (entity.getByName(fields[i])).toString()); } } result = ps.executeUpdate(); } catch (SQLException e) { throw e; } finally { if (ps != null) ps.close(); this.release(conn); } return result; }