JDBC批量更新某个字段的值

package com.cme.core;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

import com.cme.utils.JdbcUtils;

public class Import {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Connection conn = null;
        Statement ps = null;
        Statement  ps2 = null;
        String sql = "select id from pf_enterprise_info2";
        try {
            // 2.建立连接
            conn = JdbcUtils.getConnection();
            conn.setAutoCommit(false);
            ps = conn.createStatement();
            ps2 = conn.createStatement();
            ResultSet rs = ps.executeQuery(sql);
            int i = 0;
            while (rs.next()) { // 指针向下移动
                String id = rs.getString(1);
                i++;
                String sql2 ="update pf_enterprise_info2 set enterprise_import_code=CONCAT(industry_code,'-',enterprise_nationality_code,'-',LPAD(LEFT(IFNULL(enterprise_import_code,0),8)+"+i+",8,'0')) where id='"+id+"';";
                ps2.addBatch(sql2);
            }
            rs.close();
            ps.close();
            ps2.executeBatch(); 
            ps2.clearBatch();
            conn.commit();
        } catch (Exception e) {
            JdbcUtils.rollback(conn);
            e.printStackTrace();
        } finally {
            JdbcUtils.free(null, ps, conn);
        }
    }

}

 

posted @ 2017-05-25 09:39  YueYuePeng  阅读(2771)  评论(0编辑  收藏  举报