java 批量新增資料
阿新 • • 發佈:2019-02-03
package com.input; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; public class AreaDao extends BaseDao { /** * 批量新增資料 */ public void add(List<Object> list) throws Exception{ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); int listSize = list.size(); Object object[] = null; con = getCon(); con.setAutoCommit(false);//關閉事務自動提交 String sql = "INSERT INTO f_area(administrative_code, parent_administrative_code, grade, area_name, create_time) VALUES(?,?,?,?,?)"; ps = con.prepareStatement(sql); System.out.println("---------總記錄數為:"+list.size()+"-------------"); for(int i = 0;i < listSize;i++){ object = (Object[])list.get(i); ps.setObject(1, object[0]); ps.setObject(2, object[1]); ps.setObject(3, object[2]); ps.setObject(4, object[3]); ps.setObject(5, sdf.format(date)); ps.addBatch(); //把一個SQL命令加入命令列表 if(i != 0 && i % 10 == 0){ System.out.println("=====執行了"+i+"條記錄====="); } if(i == listSize - 1 ){ System.out.println("=====總共成功執行了"+listSize+"條記錄====="); } } ps.executeBatch();//執行批量更新 con.commit();//語句執行完畢,提交本事務 closeAll(rs, ps, con); } } //////////////////////////////////////////// package com.input; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class BaseDao { private static final String url = "jdbc:mysql://127.0.0.1:3306/china_dress?zeroDateTimeBehavior=convertToNull&characterEncoding=utf-8"; private static final String username = "root"; private static final String password = "123456"; public Connection con = null; public PreparedStatement ps = null; public ResultSet rs = null; /** * 使用JDBC連線資料庫 */ public Connection getCon(){ try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return con; } /** * 關閉連線 */ public void closeAll(ResultSet rs, PreparedStatement ps, Connection con){ try { if(rs != null){ rs.close(); }if(ps != null){ ps.close(); }if(con != null){ con.close(); } } catch (Exception e) { e.printStackTrace(); } } /** * 測試連線 */ public static void main(String[] args) { BaseDao baseDao = new BaseDao(); Connection conn = baseDao.getCon(); System.out.println("con:" + conn); } }