`
tanglingshuai
  • 浏览: 36681 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

得PreparedStatement向数据库提交的SQL语句

SQL 
阅读更多

/**

 * 获得PreparedStatement向数据库提交的SQL语句

 *

 * @param sql:带占位符?的原始sql

 * @param params:参数数组

 * @return:要执行的sql语句

 */

public static String getPreparedSQL(String sql, Object[] params) {

       

        // 1 如果没有参数,说明是不是动态SQL语句

        int paramNum = 0;

        if (null != params)

               paramNum = params.length;

       if (1 > paramNum)

              return sql;

 

        // 2 如果有参数,则是动态SQL语句

       StringBuffer returnSQL = new StringBuffer();

 

       String[] subSQL = sql.split("\\?");

 

       for (int i = 0; i < paramNum; i++) {

              if (params[i] instanceof Integer) {

                     returnSQL.append(subSQL[i]).append(" ").append(params[i]) .append(" ");

              } else if (params[i] instanceof Date) {

                     returnSQL.append(subSQL[i]).append(" '").append( DateUtils.strDateFormat((java.util.Date) params[i])) .append("' ");

              } else {

                     returnSQL.append(subSQL[i]).append(" '").append(params[i]) .append("' ");

              }

}

分享到:
评论

相关推荐

    如何获得PreparedStatement最终执行的sql语句

    在Java的JDBC编程中,`PreparedStatement`是一个非常重要的接口,它用于预编译SQL语句,提高了数据库操作的效率和安全性。当我们处理大量重复的SQL操作时,使用`PreparedStatement`可以避免SQL注入等问题,同时提升...

    PreparedStatement 向数据库插入时间方法

    3. **设置参数并执行 SQL 查询**:接下来,创建一个`PreparedStatement`对象,设置SQL语句中的参数,并执行插入操作。 ```java PreparedStatement psmt = null; String sqlStr = "INSERT INTO examples VALUES (?...

    java执行SQL语句实现查询的通用方法详解

    该方法首先获取数据库连接,然后使用PreparedStatement来执行SQL语句,并将查询结果放入Vector容器中。 在executeQuery()方法中,使用了反射机制来将查询结果装入实体类对象中。首先,使用rs.getMetaData()方法来...

    sql语句插入MySQL数据库操作指南

    本文将深入探讨如何使用SQL语句将数据插入到MySQL数据库中,以及如何在开发者之间共享和同步数据库结构。 首先,我们需要理解SQL(Structured Query Language),它是用于管理和处理关系数据库的标准语言。插入数据...

    sql语句中用问号代替参数

    2. **提高性能**:预编译的SQL语句可以在数据库中缓存,多次执行相同结构但不同参数的查询时,可以显著提高执行效率。数据库只需解析一次SQL模板,然后用新参数替换问号即可。 3. **减少错误**:动态构建SQL字符串...

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

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

    sql语句转string

    当我们在数据库客户端编写并测试了有效的SQL语句后,有时需要将这些语句集成到Java应用程序中,以便在运行时动态执行。这就涉及到了“SQL语句转String”这一过程。 首先,理解SQL语句转String的含义。它指的是将...

    Statement和PreparedStatement之间的区别

    首先, Statement对象执行的SQL语句是直接编译的,而PreparedStatement对象执行的SQL语句则是预编译的。预编译语句在执行之前已经被数据库编译器编译过,生成了执行代码,而Statement对象则需要在每次执行时重新编译...

    数据库文件sql.rar

    JDBC包括加载数据库驱动、建立数据库连接、创建Statement或PreparedStatement对象、执行SQL语句和处理结果集等一系列步骤。 **SQL Server(MSSQL)** SQL Server是由Microsoft开发的关系型数据库管理系统,广泛应用...

    连接jdbc时sql语句统一设置参数

    在Java编程中,连接数据库并执行SQL语句是常见的任务,而`JDBC`(Java Database Connectivity)就是实现这一目标的接口和API。本篇将深入讲解如何在使用JDBC时,通过统一的方式设置SQL语句中的参数,提高代码的...

    动态封装SQL语句,配置文件的调用与封装

    在IT行业中,数据库操作是应用开发中的重要环节,而动态封装SQL语句和配置文件的调用与封装是提升程序灵活性、可维护性的重要技术手段。下面将详细讲解这两个概念及其应用。 首先,动态封装SQL语句指的是在运行时...

    java代码实现的sql语句效果

    `Connection`对象代表了数据库的连接,`Statement`或`PreparedStatement`用于执行SQL语句,而`ResultSet`则用于存储查询结果。 1. **连接数据库**: 使用`DriverManager.getConnection()`方法建立与数据库的连接。...

    数据库驱动sqljdbc4.0

    - **预编译的语句(PreparedStatement)**:预编译的SQL语句可以防止SQL注入攻击,并且在多次执行相同语句时有更高的效率。 - **事务管理**:支持ACID(原子性、一致性、隔离性和持久性)事务特性,确保数据的完整性...

    使用PreparedStatement访问数据库

    `PreparedStatement`的主要特点是预编译SQL语句,使得在执行多次相同SQL时,能避免重复解析SQL的过程,从而提升效率。 `PreparedStatement`接口的使用步骤通常包括以下几个部分: 1. **创建PreparedStatement对象*...

    java sql 数据库 面试 面试试题

    Java SQL 数据库面试是评估求职者在数据库操作、SQL查询编写以及如何在Java应用程序中有效使用数据库的关键技能的重要环节。以下是一些常见的Java SQL数据库面试题及其详细解答,旨在帮助你准备面试: 1. **Java与...

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

    预编译过程将SQL语句转化为数据库系统可以理解的形式,创建一个存储过程(PreparedStatement)。这样做的好处是可以提高性能,因为同样的SQL模板只需编译一次,后续的执行只需传入参数即可。 2. 游标库和连接管理:...

    SQL语句填充占位符

    在编程领域,SQL语句是用于与数据库交互的语言。在处理动态数据时,我们经常需要根据不同的条件生成相应的SQL查询。传统的做法是通过程序逻辑来构建这些查询,但这种方式可能会导致代码复杂、难以维护,同时也增加了...

    JDBC是执行SQL语句的Java API

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

    java连接数据库 sql2000 sql2005 数据库的连接

    - 使用`PreparedStatement`而非`Statement`:`PreparedStatement`更安全,能防止SQL注入攻击,并且在执行预编译的SQL语句时效率更高。 - 使用连接池:在大型应用中,使用连接池(如C3P0、HikariCP等)管理数据库...

    sql.rar_Leach_SQL java_sql_数据库 java sql

    通过JDBC,你可以创建数据库连接、发送SQL语句、处理结果集以及关闭连接。 在Java中使用SQL涉及以下关键概念: 1. **加载驱动**:在与数据库交互之前,我们需要加载对应的数据库驱动,例如"com.mysql.jdbc.Driver"...

Global site tag (gtag.js) - Google Analytics