ibatis- 대량 삽입 (대상 맵 돌리기)
2434 단어 ibatis
대상에list 대상이 있습니다. item 기록이 필요합니다.
위 코드:
모델 대상
AdvClearRecordInfo.java
public class AdvClearRecordInfo extends BaseRecordInfo{
private List advClearRecords;
}
대상
AdvClearRecordDao.java
4
public class AdvClearRecordDao extends SqlMapClientTemplate{
public Object saveAdvClearRecordInfo(AdvClearRecordInfo advClearRecordInfo) {
try {
// map
Map map = ObjectMapUtil.getObjectMap(advClearRecordInfo);
//
map.put("tableSuffix", "_" + DateFormatUtils.format(advClearRecordInfo.getCreateTime(), ObjectMapUtil.DAY_PATTERN));
Long id = (Long)this.insert("saveAdvClearRecordInfo", map);
return id;
} catch (Exception e) {
logger.error("saveAdvClearRecordInfo fail:",e);
throw new RuntimeException(e);
}
}
}
여기서 대상을 맵으로 돌리는 방법을 사용했다.대상 맵
public static Map getObjectMap(Object object){
Map map = new HashMap();
try {
/**
* :boolean is ,
* :isVerifySmsc set setVerifySmsc, verifySmsc
*/
BeanWrapper beanWrapper = new BeanWrapperImpl(object);
PropertyDescriptor[] descriptors = beanWrapper.getPropertyDescriptors();
for (PropertyDescriptor descriptor : descriptors) {
map.put(descriptor.getName(), beanWrapper.getPropertyValue(descriptor.getName()));
}
return map;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
sqlMap 구성
AdvClearRecordDao.xml
INSERT INTO tbl_adv_clear_record$tableSuffix$(
req_seq,
action_time,
height, width,
create_time
)
VALUES
(
#advClearRecords[].reqSeq#,
#advClearRecords[].actionTime#,
#terminalInfo.height#, #terminalInfo.width#,
#createTime#
)
;
SELECT lastval() AS id
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ibatis 예(二)다음 6개의 파일: User.java UserTest.java SqlMapConfig.xml User.xml log4j.properties t_user.sql 1. 우선 디렉터리 구조를 살펴보자. 2.t_user.s...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.