https://www.playnexacro.com/#show:learn:4767
5. SampleServiceImpl Class 파일 수정작업 코드 설명
@Override
public void updateSampleList(List<SampleVO> sampleList) throws Exception {
int size = sampleList.size(); // 추가 삭제 저장시 몇 줄인지 판단해주어야 함
for(int i = 0; i<size; i++) {
SampleVO sample = sampleList.get(i); // size크기까지 '한줄 한줄'씩 SampleVO에 담아줌
// 만약 sample(SampleVO)이라는 객체가 DataSetRowTypeAccessor 이라는 클래스를 상속 받았다면
if(sample instanceof DataSetRowTypeAccessor) { // instanceof : 객체가 어떤 클래스인지, 어떤 클래스를 상속받았는지 확인하는데 사용하는 연산자
DataSetRowTypeAccessor accessor = (DataSetRowTypeAccessor)sample;
// 데이터의 상태값 정보 getRowType ( 추가 삭제 저장 )
if(accessor.getRowType() == DataSet.ROW_TYPE_INSERTED) { // sample의 상태값 정보가 insert 라면
String id = null;
try {
//if(id == null) {
// throw new NexacroException("id");
// }
// getNextStringId 사용시 FdlException 발생할 수 있어 필수 catch
id = egovIdGnrService.getNextStringId(); // ID Generator : 아이디값을 자동 세팅해줌
sample.setId(id); // 자동 세팅된 아이디값은 SampleVO에 저장
sampleMapper.insertSampleList(sample);
}catch (FdlException e) {
e.printStackTrace();
}
}else if (accessor.getRowType() == DataSet.ROW_TYPE_UPDATED) { // sample의 상태값 정보가 update 라면
sampleMapper.updateSampleList(sample);
}else if (accessor.getRowType() == DataSet.ROW_TYPE_DELETED) { // sample의 상태값 정보가 delete 라면
sampleMapper.deleteSampleList(sample);
}
}
}// end for문
}