`

如何用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);
   }




分享到:
评论

相关推荐

    hibernate执行原生sql语句

    "hibernate执行原生sql语句" Hibernate 是一种流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的...

    mybatis直接执行sql语句后续之一

    通过SqlSession,开发者可以直接提交或回滚事务,以及执行预编译的SQL语句(MappedStatement)。 1. **动态SQL**:MyBatis的一个强大特性是其支持动态SQL,允许在XML映射文件或注解中构建SQL语句。比如,我们可以...

    JDBC是执行SQL语句的Java API

    JDBC允许Java开发者通过编写Java代码来执行SQL语句,实现对数据库的操作,如查询、插入、更新和删除数据。 JDBC的主要优势在于其跨平台性和数据库无关性。与ODBC(Open Database Connectivity)不同,ODBC是一个...

    java批量执行SQL

    在Java中,主要通过`PreparedStatement`的`addBatch()`方法将多条SQL语句添加到批处理中,再调用`executeBatch()`方法一次性提交所有SQL语句。 #### 三、Java批量执行SQL的具体实现 以下是对给定部分代码的详细...

    若依微服务数据库执行sql

    在若依微服务中,可以使用预编译语句(PreparedStatement)来防止恶意输入影响SQL执行。 6. **监控与日志**:为了排查问题和优化性能,需要记录SQL执行日志,并使用工具如Prometheus或ELK栈进行监控。 7. **微服务...

    JDBC+注册驱动+获取连接+定义sql语句+获取执行sql对象+执行sql

    在JDBC中,我们可以通过`PreparedStatement`或`Statement`对象来定义SQL语句。`PreparedStatement`用于预编译SQL,可以防止SQL注入,提高性能,适用于多次执行相同的SQL语句。而`Statement`则用于执行一次性SQL命令...

    计算机软件-商业源码-实例114-在程序中执行SQL语句.zip

    2. **SQL语句的准备和执行**:一旦连接建立,就可以通过Statement或PreparedStatement对象来执行SQL。Statement适用于静态SQL,而PreparedStatement则支持参数化查询,更安全,防止SQL注入。例如: ```java ...

    经典SQL语句大全

    在Java或C#这样的编程语言中,通常使用数据库驱动程序(如JDBC或ADO.NET)来执行SQL语句。开发者编写SQL字符串,然后通过连接对象执行这些语句,获取结果集并进行处理。例如,在Java中,你可以创建一个Statement或...

    SQL_执行语句(查询和修改)

    通过上述内容,我们可以了解到如何使用Java执行基本的SQL查询和修改操作,包括如何使用`PreparedStatement`进行安全的参数化查询以及如何处理事务来保证数据一致性。这些知识点对于从事数据库开发和维护工作的人员来...

    java代码实现的sql语句效果

    在Java编程中,SQL语句的执行是通过JDBC(Java Database Connectivity)接口来实现的。JDBC提供了一种标准的API,使得Java程序能够与各种数据库进行交互,包括插入、查询、更新和删除数据等操作。这篇博客“java代码...

    JAVA的SQL帮助类,帮助快速使用SQL语句更新,删除,查询数据

    2. **SQL语句的执行**:提供方法来执行`INSERT`, `UPDATE`, `DELETE`和`SELECT`等SQL语句。例如,`executeUpdate(String sql)`用于执行修改操作,`executeQuery(String sql)`用于执行查询并返回结果集。 3. **参数...

    java十分经典的jdbc增删改查程序,含sql语句

    连接建立后,我们需要创建一个`Statement`或`PreparedStatement`对象来执行SQL语句。`Statement`用于执行静态SQL,而`PreparedStatement`可以预编译SQL,提高性能并防止SQL注入。 3. **执行SQL语句**: - **插入...

    java代码中的sql语句处理.rar_JAVA SQL处理

    - **PreparedStatement**:为了提高性能和防止SQL注入,通常推荐使用`PreparedStatement`,它可以预编译SQL语句,且支持参数绑定。 - **JDBC批处理**:对于批量操作,JDBC提供批处理功能,通过`addBatch()`和`...

    OCCI接口和SQL语句的组装.pdf

    无论是简单的查询还是复杂的事务处理,都需要通过合适的SQL语句来实现。对于基于OCCI的应用程序来说,正确地组装SQL语句不仅能够提高数据访问的性能,还能够确保数据的一致性和完整性。此外,良好的SQL语句设计还能...

    值对象转换成SQL语句

    为了防止SQL注入,应该使用预编译的SQL语句(如Java的PreparedStatement)或者使用ORM框架(如Hibernate、MyBatis)提供的安全方法来处理动态SQL。 在实际应用中,结合Bean使用值对象转换为SQL语句的方法可以提高...

    sql语句源码

    2. **预编译的SQL语句(PreparedStatement)**:防止SQL注入攻击,提高代码安全。 六、性能监控 1. `EXPLAIN` 关键字:在查询前使用,分析查询计划,找出可能的性能瓶颈。 2. `SHOW STATUS` 和 `SHOW VARIABLES`:...

    SQL查询语句精华总结

    在Java中,可以使用JDBC(Java Database Connectivity)API来执行SQL语句。首先需要加载驱动,建立连接,创建Statement或PreparedStatement对象,然后执行SQL并处理结果集。 ```java Class.forName(...

    练习3:使用PreparedStatement插入宠物信息.zip

    4. **执行插入操作**:调用PreparedStatement的`executeUpdate()`方法执行SQL语句,该方法返回受影响的行数。在插入操作中,通常是1(如果插入成功)或0(如果表中已有相同的主键,导致插入失败)。 ```java int ...

    嵌入式SQL语句在VC 数据库系统开发中的技巧.pdf

    嵌入式SQL语句通常以字符串形式存在,通过SQLExec函数执行。对于参数化查询,可以使用SQLPrepare先预编译,然后用SQLExecute传入参数执行。这种方法可以防止SQL注入攻击,同时提高效率。 4. 错误处理: VC++中,...

Global site tag (gtag.js) - Google Analytics