如何用PreparedStatement来执行sql语句【通过事务】
程序员文章站
2022-04-06 09:42:57
...
关于如何用PreparedStatement来执行sql语句【通过事务】?其实非常简单
1、准备好一个Connection
2、准备好一个你需要保存的对象【举例:Customer客户对象】
下面就可以开始正式工作:
这么一来呢,通过事务以及PreparedStatement来执行sql的方法就搞定了;
在Service层如果是要手动提交事务,那么在执行此方法前将从connection设置成手动提交,待此方法执行结束后将connection提交下,如下:
1、准备好一个Connection
2、准备好一个你需要保存的对象【举例:Customer客户对象】
下面就可以开始正式工作:
public void addCustomerByCommit(Connection conn , Customer customer) { String sql = "inseret into customer(id , name , remark)values(?,?,?)"; try { PreparedStatement ps = conn.prepareStatement(sql); int index = 1; ps.setInt(index++ , customer.getId()) ps.setString(index++, customer.getName()); ps.setString(index++, customer.getRemark()); ps.executeUpdate(); } catch (SQLException e) { //这里呢你可以做点自己想做的事情 e.printStackTrace(); } }
这么一来呢,通过事务以及PreparedStatement来执行sql的方法就搞定了;
在Service层如果是要手动提交事务,那么在执行此方法前将从connection设置成手动提交,待此方法执行结束后将connection提交下,如下:
try { Connection conn = XXXXXXX[就是你获取connection的方法或者直接的值] conn.setAutoCommit(false); addCustomerByCommit(conn , customer); conn.commit(); } catch (SQLException e) { conn.rollBack(); //然后做点你想要做的事情 } finally { //关闭链接 CloseUtils.close(conn); }