正在回答
2回答
同学可以根据下面代码的思路进行多条数据的插入:
public void insertBatch() {
int count[];
Boolean isinsert = false;
Connection con = null;
PreparedStatement pst = null;
PreparedStatement pst1 = null;
try {
con = getCon();
con.setAutoCommit(false); // 需要用到事务,不能让他自动提交,需要手动提交
pst = con.prepareStatement(INSERT_SQL); // INSERT_SQL表示对一张表的插入记录
pst.setString(1, "name1");
pst.setInt(2, 26);
pst.setString(3, "job1");
pst.addBatch();
pst.setString(1, "name2");
pst.setInt(2, 12);
pst.setString(3, "job2");
pst.addBatch();
count = pst.executeBatch();
con.commit(); //提交事务,这个非常重要
for(int i : count){
if(i == 0) {
con.rollback(); // 回滚,非常重要
System.out.println("======出现异常,回滚=========");
}
}
} catch (SQLException e) {
try {
con.rollback(); // 回滚,非常重要
} catch (SQLException e1) {
e1.printStackTrace();
}
System.out.println("------出现异常,回滚----------");
e.printStackTrace();
} finally {
cloCon(con,pst);
}
}sql语句采用占位符的方式。
祝学习愉快!
Java数据库开发与实战应用2018版
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星