老师我这样批量添加不成功 哪里出问题了 只能添加一条
来源:6-6 自由编程
hejunmiao
2019-08-28 21:17:09
package jdbc.practice;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import org.junit.Test;
import jdbc.utils.JDBCUtils;
public class practice4 {
@Test
/**
* 首先将表格中的三条数据添加到数据库
*/
public void demo1() {
Connection conn=null;
PreparedStatement pstmt=null;
try {
//获得连接
conn=JDBCUtils.getConnection();
//编写sql
String sql="INSERT INTO course(name,category,desp,createTime) VALUES(?,?,?,?)";
conn.setAutoCommit(false);
// 预编译SQL:
pstmt=conn.prepareStatement(sql);
// 设置参数:
pstmt.setString(1,"Java零基础");
pstmt.setString(2,"Java");
pstmt.setString(3,"Java基础语法");
pstmt.setDate(4,new Date(System.currentTimeMillis()));
pstmt.addBatch();
pstmt.setString(1,"Java Web");
pstmt.setString(2,"Java");
pstmt.setString(3,"Jsp和Servlet");
pstmt.setDate(4,new Date(System.currentTimeMillis()));
pstmt.addBatch();
pstmt.setString(1,"前端小白");
pstmt.setString(2,"J前端");
pstmt.setString(3,"HTML/CSS/JS");
pstmt.setDate(4,new Date(System.currentTimeMillis()));
pstmt.addBatch();
int num=pstmt.executeUpdate();
if(num>0) {
System.out.println("添加成功");
}
conn.commit();
conn.setAutoCommit(true);
} catch (Exception e) {
e.printStackTrace();
}finally {
JDBCUtils.release(pstmt, conn);
}
}
}2回答
同学你好!
这个executeBatch(),返回的为一个int数组,数组中存放每一条语句的执行情况,具体可以查看下图:

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
hejunmiao
提问者
2019-08-28
已经解决了
执行语句改成这样就行了
pstmt.executeBatch();
那这个该返回什么 判断是添加成功了
相似问题