`
huiminchen
  • 浏览: 74807 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

 

这个是链接地址

http://www.javaworld.com/javaworld/jw-01-2002/jw-0125-overpower.html

 

自己试了试,成功。

靠谱,推荐大家使用。

 

 

Connection con = DriverManager.getConnection(url);
DebugLevel debug = DebugLevel.ON;
String sql = "SELECT name,rate FROM EmployeeTable WHERE rate > ?";
//Use a factory instead of Connection to get a PreparedStatement.
//PreparedStatement ps = con.prepareStatement(sql);
  PreparedStatement ps = StatementFactory.getStatement(con,sql,debug);
  ps.setInt(1,25);
//If ps is a DebuggableStatement, you see the statement,
//otherwise, an object identifier is displayed
  System.out.println(" debuggable statement= " + ps.toString());

 

 

附件是这段代码中用到的类。

 

 

 

 

 

 

 

分享到:
评论
7 楼 sp42 2017-09-04  
http://blog.csdn.net/zhangxin09/article/details/70187712
6 楼 jianxia801 2012-07-10  
我也看过http://www.javaworld.com/javaworld/jw-01-2002/jw-0125-overpower.html 文章;但是DebuggableStatement有一些方法未实现;感觉此文章不错,推荐给大家 http://www.javaworld.com.tw/roller/jiaming/entry/2007_4_13_PreparedStatement_Proxy_Design_Pattern
5 楼 huiminchen 2012-07-09  
jianxia801 写道
主要报DebuggableStatement 类里面未实现:方法。如下截图。

你好
这个是我很久之前做的了
虽然记不太清楚,但也没有这么多方法要实现吧……
我用的就是PreparedStatement
具体,你可以参考链接http://www.javaworld.com/javaworld/jw-01-2002/jw-0125-overpower.html
4 楼 jianxia801 2012-07-09  
34 methods to implement:
- java.sql.Statement.execute()
- java.sql.Statement.execute()
- java.sql.Statement.execute()
- java.sql.Statement.executeUpdate()
- java.sql.Statement.executeUpdate()
- java.sql.Statement.executeUpdate()
- java.sql.Statement.getGeneratedKeys()
- java.sql.Statement.getMoreResults()
- java.sql.Statement.getResultSetHoldability()
- java.sql.Statement.isClosed()
- java.sql.Statement.isPoolable()
- java.sql.Statement.setPoolable()
- java.sql.Wrapper.isWrapperFor()
- java.sql.Wrapper.unwrap()
-
java.sql.PreparedStatement.getParameterMetaData()
- java.sql.PreparedStatement.setAsciiStream()
- java.sql.PreparedStatement.setAsciiStream()
- java.sql.PreparedStatement.setBinaryStream()
- java.sql.PreparedStatement.setBinaryStream()
- java.sql.PreparedStatement.setBlob()
- java.sql.PreparedStatement.setBlob()
-
java.sql.PreparedStatement.setCharacterStream()
-
java.sql.PreparedStatement.setCharacterStream()
- java.sql.PreparedStatement.setClob()
- java.sql.PreparedStatement.setClob()
-
java.sql.PreparedStatement.setNCharacterStream()
-
java.sql.PreparedStatement.setNCharacterStream()
- java.sql.PreparedStatement.setNClob()
- java.sql.PreparedStatement.setNClob()
- java.sql.PreparedStatement.setNClob()
- java.sql.PreparedStatement.setNString()
- java.sql.PreparedStatement.setRowId()
- java.sql.PreparedStatement.setSQLXML()
- java.sql.PreparedStatement.setURL()
3 楼 jianxia801 2012-07-09  
主要报DebuggableStatement 类里面未实现:方法。如下截图。
2 楼 huiminchen 2012-07-09  
jianxia801 写道
哥们你在使用的过程中,此类 DebuggableStatement 是不是还有未实现的方法呢?不知道你是怎么解决的?

你好,兄台。不知道你指的是什么问题呢?
1 楼 jianxia801 2012-07-09  
哥们你在使用的过程中,此类 DebuggableStatement 是不是还有未实现的方法呢?不知道你是怎么解决的?

相关推荐

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

    然后,使用PreparedStatement来执行SQL语句,preparedstatement.setObject()方法来设置SQL语句中的参数。最后,使用executeQuery()方法来执行SQL语句,并将查询结果放入Vector容器,以便其他程序使用。 二、...

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

    ReuseExecutor会在同一个SQL语句下复用PreparedStatement对象;BatchExecutor则用于批量操作,它可以大大提高性能。 4. **ParameterHandler**:负责设置SQL语句的参数,它将Java对象的参数转换为数据库能理解的格式...

    hibernate执行原生sql语句

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

    JDBC是执行SQL语句的Java API

    3. **创建Statement或PreparedStatement**:根据需求创建执行SQL语句的对象。 4. **执行SQL**:调用Statement或PreparedStatement对象的`executeQuery()`或`executeUpdate()`方法。 5. **处理结果**:对于查询语句,...

    java批量执行SQL

    在Java开发过程中,经常需要与数据库进行交互,尤其是在处理大量数据时,如何高效地执行SQL语句变得尤为重要。本文将详细介绍如何利用Java进行批量SQL执行,包括其背景、实现原理、代码示例及优化策略等。 #### 一...

    sql语句中用问号代替参数

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

    若依微服务数据库执行sql

    本篇将深入探讨如何在若依微服务中执行SQL语句,以及与之相关的数据库管理和微服务设计原则。 首先,SQL(Structured Query Language)是用于管理和处理关系型数据库的标准语言,包括数据查询、更新、插入和删除等...

    sql语句转string

    4. **执行SQL**:使用`Statement.execute(String sql)`或`PreparedStatement.execute()`方法执行SQL语句。对于动态SQL,可能需要使用PreparedStatement,因为它支持参数化查询,能防止SQL注入攻击。 5. **处理结果*...

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

    执行SQL语句之前,我们需要一个`Statement`或`PreparedStatement`对象。如上所述,根据SQL语句的性质选择适当的对象。 **五、执行SQL** 有了SQL语句和执行对象,我们就可以执行SQL了。对于`Statement`,可以使用`...

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

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

    Statement和PreparedStatement之间的区别

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

    Java 使用注解拼接SQL语句

    同时,确保SQL注入的安全性也非常重要,需要正确处理用户输入并使用预编译的SQL语句(如PreparedStatement)。 5. **DAO(数据访问对象)**: 在文件列表中提到了"DAO",这通常指的是数据访问层。在Java应用中,...

    java代码实现的sql语句效果

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

    执行sql语句,并将结果通过ArrayList返回。字段名统一大写 JDBC 连接数据库

    ### 执行SQL语句并通过ArrayList返回结果:字段名统一大写 #### 一、概述 在Java开发中,经常需要与数据库进行交互操作,其中最常用的就是通过JDBC(Java Database Connectivity)技术来实现对数据库的操作。本文...

    页面传入多个条件——sql语句的拼接

    根据上面的条件判断,最终形成的SQL语句将只包含那些非空或非默认值的条件。 ### 安全性和性能考虑 #### 安全性 - **防止SQL注入**:在实际应用中,为了防止SQL注入攻击,建议使用预编译语句(如...

    数据库连接,sql语句执行,表查询

    在IT行业中,数据库连接、SQL语句执行以及表查询是至关重要的操作,尤其在软件开发和数据分析领域。这里我们将深入探讨这些概念,并结合"插件开发"、"sql"、"rcp"(Rich Client Platform)和"表查询"、"数据库连接...

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

    在执行SQL语句时,我们通常使用`PreparedStatement`而非`Statement`,因为`PreparedStatement`支持预编译的SQL语句,能有效防止SQL注入攻击,并且允许我们以参数化的方式设置SQL语句中的值。这种方式不仅提高了效率...

    经典SQL语句大全

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

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

    - **解释**:首先关闭自动提交模式以启动事务,然后执行SQL语句,接着提交事务,最后恢复自动提交模式以结束事务。 #### 五、资源释放 - **说明**:在使用完数据库连接和其他资源后,应确保正确关闭它们以避免资源...

Global site tag (gtag.js) - Google Analytics