欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JDBC批量删除 博客分类: java基础 JDBCSQL 

程序员文章站 2024-02-26 09:26:46
...
今天用JDBC批量删除数据的时候,控制台返回的结果全是-2 -2 -2,呵呵,(第一次用),对我来说可奇了怪了。赶紧跑到数据库那里查询下,发现数据删除成功,但是还不明白为啥会返回负数。就接着上网上查了下补充补充知识:

executeBatch是从Statement继承的方法
executeBatch返回的数组中的元素可能为以下元素之一:
1.大于或等于零的数。指示成功处理了命令,是给出执行命令所影响数据库中行数的更新计数
2.SUCCESS_NO_INFO = -2。指示成功执行了命令,但受影响的行数是未知的
3.EXECUTE_FAILED = -3。指示未能成功执行命令,仅当命令失败后驱动程序继续处理命令时出现

我删除的代码是:
   //批量删除分类对象
    public void deleteBat(Integer[] catNo){
		try {
			Connection con=DBUtil.getInstance().getCon();
			String sql="delete from cat where catno=?";
			con.setAutoCommit(false);
			PreparedStatement ps=con.prepareStatement(sql);
			for (Integer in : catNo) {
				ps.setInt(1, in);
				ps.addBatch();
			}
			int[] result=ps.executeBatch();
			con.commit();
			for (int i : result) {
				System.out.println(i);
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
相关标签: JDBC SQL