加入一条数据使用executeQuery();使用循环插入也可以实现多条语句更新,但是没有executeBatch()方法效率高
加入多条数据使用到executeBatch()方法;
public void addFlowCardDetail(List<FlowCardDetail> flowCardDetails,
String vouNo)throws DaoException {System.out.println("----addFlowCardDetail() DAO-");
Connection conn = null;
PreparedStatement pstmt = null;
try{
conn = ThreadLocalConnection.getConnection();
String sql = "insert into t_flow_card_detail(vou_no,aim_id,item_no,qty) values (?, ?, ?, ?)";
pstmt = conn.prepareStatement(sql);
for(FlowCardDetail flowCardDetail : flowCardDetails){
pstmt.setString(1, flowCardDetail.getVouNo());
pstmt.setString(2, flowCardDetail.getAim().getId());
pstmt.setString(3, flowCardDetail.getItem().getItemNo());
pstmt.setDouble(4, flowCardDetail.getQty());
pstmt.addBatch();
}
pstmt.executeBatch();//整体更新
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.close(pstmt);
}