insert daoSupport
2129 단어 insert
public static Map po2Map(Object po) {
Map poMap = new HashMap();
Map map = new HashMap();
try {
map = BeanUtils.describe(po);
} catch (Exception ex) {
}
Object[] keyArray = map.keySet().toArray();
for (int i = 0; i < keyArray.length; i++) {
String str = keyArray[i].toString();
if (str != null && !str.equals("class")) {
if (map.get(str) != null) {
poMap.put(str, map.get(str));
}
}
}
Method[] ms =po.getClass().getMethods();
for(Method m:ms){
String name = m.getName();
if(name.startsWith("get")){
if(m.getAnnotation(NotDbField.class)!=null){
poMap.remove(getFieldName(name));
}
}
}
return poMap;
}
public void insert(String table, Object po) {
Map poMap = ReflectionUtil.po2Map(po);
table = this.dbRouter.getTableName( table);
this.jdbcDaoSupport.insert(table, poMap);
}
public void insert(String table, Map fields) {
String sql = "";
try {
Assert.hasText(table, " ");
Assert.notEmpty(fields, " ");
table = quoteCol(table);
Object[] cols = fields.keySet().toArray();
Object[] values = new Object[cols.length];
for (int i = 0; i < cols.length; i++) {
if (fields.get(cols[i]) == null) {
values[i] = null;
} else {
values[i] = fields.get(cols[i]).toString();
}
cols[i] = quoteCol(cols[i].toString());
}
sql = "INSERT INTO " + table + " ("
+ StringUtil.implode(", ", cols) + ") VALUES ("
+ StringUtil.implodeValue(", ", values) + ")";
jdbcTemplate.update(sql, values);
} catch (Exception e) {
e.printStackTrace();
throw new DBRuntimeException(e, sql);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MyBatis에서 insert 작업이 주 키를 되돌리는 방법myBatis를 지구층으로 사용할 때 insert 문장은 기본적으로 기록된 키 값을 되돌려주지 않고 삽입된 기록 줄의 수를 되돌려줍니다.만약 업무층이 기록된 메인 키를 필요로 할 때, 설정 방식을 통해 이 기능을 완...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.