데이터 의 대량 추가, 대량 수정

데이터 푸 시 나 다른 업 무 를 수행 할 때 대량 작업 이 필요 합 니 다. 이 럴 때 Spring 의 jdbc Template 를 사용 할 수 있 습 니 다.1. 일괄 추가 시:
//        0     :1
		arcCorpinfoDao.readFlagState();
        //     :   readflag=1,    List
        List arcCorpInfo = arcCorpinfoDao.selectArcCorpinfoMid();
        //      
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        String curTime = formatter.format(new Date());
        //         (      )
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String curDate = df.format(new Date());

String sql = " insert into corp_info(corp_id,corp_name,corp_type,corp_address,license_no,certificate_no,legal_name,establish_date,contact_name,contact_phone,data_version,manage_time,remark,DS_BATCH,DS_SYNC_FLAG,DS_SYNC_TIME) " + " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            try {
                jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
                    @Override
                    public void setValues(PreparedStatement ps, int i) throws SQLException {

                        ps.setString(1, arcCorpInfo.get(i).getCorpno());
                        ps.setString(2,arcCorpInfo.get(i).getCorpname());
                        ps.setString(3, arcCorpInfo.get(i).getCorptype());
                        ps.setString(4, arcCorpInfo.get(i).getAddress());
                        ps.setString(5, arcCorpInfo.get(i).getLicenseno());
                        ps.setString(6, arcCorpInfo.get(i).getCertificateno());
                        ps.setString(7, arcCorpInfo.get(i).getLegalname());
                        ps.setString(8, arcCorpInfo.get(i).getEstablishdate());
                        ps.setString(9, arcCorpInfo.get(i).getContactname());
                        ps.setString(10, arcCorpInfo.get(i).getPhoneno());
                        ps.setString(11, arcCorpInfo.get(i).getRevisiondate());
                        ps.setString(12, arcCorpInfo.get(i).getRevisiontime());
                        ps.setString(13, arcCorpInfo.get(i).getRemark());
                        ps.setString(14, curTime);
                        ps.setString(15, arcCorpInfo.get(i).getOPERTYPE());
                        ps.setString(16,curDate);
                    }
                    @Override
                    public int getBatchSize() {
                        return arcCorpInfo.size();
                    }
                });
                System.out.println("----------------      ,  "+arcCorpInfo.size()+" 。----------------");
            } catch (Exception e) {
                e.printStackTrace();
            }

위 에서 이 작업 은 대량으로 삽입 해 야 할 데 이 터 를 먼저 찾 아 list 에 저장 한 다음 에 대량으로 추가 하 는 것 입 니 다.인 터 페 이 스 를 정의 합 니 다. 일괄 추가 할 데 이 터 를 조회 합 니 다.
List selectArcCorpinfoMid();

2. 인 터 페 이 스 를 직접 정의 하고 sql 문 구 를 통 해 대량으로 수정 합 니 다.다음 과 같다.
	
		update (select * from ARC_CORPINFO_MID where READFLAG = '0') set Readflag = '1'
	

3. Spring 의 jdbcTemplate 를 통 해 대량으로 삭제 하 는 것 은 일괄 수정 과 유사 합 니 다.
String sql = " DELETE FROM ARC_CORPINFO_MID WHERE corp_id=?";

순환 을 직접 정의 하고 삭제 해 야 할 id 를 조회 하여 일괄 삭제 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기