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

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

程序员文章站 2022-04-06 09:42:57
...
关于如何用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);
   }