如何用PreparedStatement来执行sql语句【通过事务】

关于如何用PreparedStatement来执行sql语句【通过事务】?其实非常简单
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);
   }




猜你喜欢

转载自fang-jianqin.iteye.com/blog/2228168