- 浏览: 64831 次
- 性别:
- 来自: 青岛
文章分类
最新评论
项目中使用JdbcTemplate进行DAO层封装,有时需要调试查看SQL语句及参数
首先是SQL语句:
查看了JdbcTemplate的反编译源码,发现打印语句的地方,其日志级别为debug,
因此,添加log4j参数:log4j.logger.org.springframework.jdbc.core.JdbcTemplate=debug
其后是语句参数:
同样跟踪执行praparedStatement执行过程,添加参数:log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=debug
最终效果:
17:05:26,034 DEBUG JdbcTemplate:574 - Executing prepared SQL statement [select * from A WHERE ID=?]
17:05:26,459 DEBUG StatementCreatorUtils:207 - Setting SQL statement parameter value: column index 1, parameter value [1111], value class [java.lang.String], SQL type 12
首先是SQL语句:
查看了JdbcTemplate的反编译源码,发现打印语句的地方,其日志级别为debug,
因此,添加log4j参数:log4j.logger.org.springframework.jdbc.core.JdbcTemplate=debug
public int update(String sql) throws DataAccessException { Assert.notNull(sql, "SQL must not be null"); if (this.logger.isDebugEnabled()) { this.logger.debug("Executing SQL update [" + sql + "]"); }
其后是语句参数:
同样跟踪执行praparedStatement执行过程,添加参数:log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=debug
最终效果:
17:05:26,034 DEBUG JdbcTemplate:574 - Executing prepared SQL statement [select * from A WHERE ID=?]
17:05:26,459 DEBUG StatementCreatorUtils:207 - Setting SQL statement parameter value: column index 1, parameter value [1111], value class [java.lang.String], SQL type 12
发表评论
-
Tomcat启动报Error listenerStart错误
2017-07-17 10:29 658今天启动Tomcat启动不了,报以下错: org.apac ... -
如何在eclipse中修改jsp默认编码
2016-12-25 12:30 625第一步:打开eclipse,找到windows-->pr ... -
eclipse编码格式设置教程、如何为eclipse设置编码格式?
2016-12-25 12:23 605如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中 ... -
修改 IntelliJ IDEA 的默认文件编码
2016-12-21 00:09 1628有两种办法可以修改 IntelliJ IDEA 的文件编码(I ... -
The specified JRE installation does not exist
2016-12-19 22:32 1158window -->preferences --> ... -
maven插件资源
2016-12-04 21:05 491http://archive.apache.org/dist/ ... -
java的svn的使用
2016-11-30 20:03 654http://blog.csdn.net/world_ding ... -
Eclipse+Maven创建webapp项目
2016-11-26 10:45 663http://www.cnblogs.com/AloneSwo ... -
报Failed to load class "org.slf4j.impl.StaticLoggerBinder".
2016-11-26 09:40 1477[root@master ~]# /export/kafka ... -
Maven: 每次更新Maven Project ,JAVA 版本都变为1.5
2016-11-21 00:10 1673由于Maven默认编译环境是JAVA 1.5 ,所以我们需要在 ... -
web.xml中contextConfigLocation的作用
2016-11-15 00:38 1148在web.xml里配置Listener xml 代码如下: ... -
Server Tomcat v6.0 Server at localhost was unable to start within 45 second
2016-10-18 08:33 647当启动tomcat时候出现 Server Tomcat v6. ... -
IntelliJ Idea 常用快捷键列表
2016-10-11 09:18 434Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ct ... -
Windows 7 sometimes breaks FTP connections on Java 7 if firewall is enabled
2016-10-11 09:17 1153Windows 7 sometimes breaks FTP ... -
intellij idea 2015、2016破解方法
2016-10-10 13:08 1683在注册时Help—Register,选择 License se ... -
优秀的学习资源地址
2016-10-07 21:47 01 非常全的java资料 http://pan.baidu.c ... -
idea中dependencies中总是有红色波浪线(缺少dependency)的解决办法
2016-10-10 13:06 5326使用IDEA进行maven开发时,将新项目import进工作空 ... -
maven的生命周期
2016-10-10 13:09 496一 三套生命周期 1 compile 2 clean 3 si ... -
私服服务器Nexus的安装
2016-10-10 13:09 7231 下载 https://www.sonatype.com ... -
maven添加额外archetype
2016-10-10 13:09 1184用Eclipse + m2e 插件新建maven项目时发现ar ...
相关推荐
2. **JdbcTemplate的使用**:在使用`JdbcTemplate`执行SQL时,其内部会自动创建SQL执行的Logger对象,如果日志级别设置为`DEBUG`,则会打印出SQL语句及其参数。例如,对于一个简单的查询操作: ```java ...
四、使用 Log4jdbc 打印完整 SQL 语句 现在,我们已经配置好了 Log4jdbc 和 Logback。下面,我们可以使用 Log4jdbc 打印完整的 SQL 语句: ```java @Service public class MyService { @Autowired private ...
4. **Slf4j** - 日志门面,允许用户在运行时选择不同的日志实现,如Common-Logging或Log4j,提供了统一的API进行日志记录。 5. **MySQL** - 常用的关系型数据库管理系统,用于存储应用的数据。 在搭建项目时,首先...
4. 数据访问层通过JdbcTemplate执行SQL操作,例如查询、插入、更新或删除记录。 5. 完成数据库操作后,Action将结果返回给Struts,Struts再决定展示哪个视图(可能是JSP页面)。 这个Demo可能包含以下关键文件: -...
JdbcTemplate支持参数化查询,通过占位符和参数数组来防止SQL注入。如上例所示,使用`?`作为占位符,并传递参数数组,JdbcTemplate会自动处理参数绑定,避免了SQL注入的风险。 **6. 代码测试** 由于JdbcTemplate不...
2. **参数绑定**:JdbcTemplate支持多种方式的参数绑定,包括占位符(问号?)和命名参数(如::name),并且提供了ValueObject(如:PreparedStatementCreator)进行复杂参数的设置。 3. **RowMapper**:这是将结果...
同时,为了日志记录,你可能还需要添加 Log4j 的依赖: ```xml <groupId>log4j <artifactId>log4j <version>1.2.17 ``` 接下来,配置 Druid 连接池。通常,我们可以创建一个名为 `application-druid....
`log4j.properties`是日志配置文件,用于设置应用程序的日志记录行为。在Spring JdbcTemplate中,良好的日志配置可以帮助我们追踪SQL执行情况,排查问题。例如,你可以配置日志级别(DEBUG, INFO, WARN等),指定...
#### 四、JdbcTemplate与Spring事务控制的结合 当使用`JdbcTemplate`结合Spring框架时,可以采用与原生JDBC事务控制类似的方法,但在Spring环境中进行管理。以下是一个使用Druid数据库连接池的示例代码: ```java ...
SpringJdbcTemplate是Spring框架中用于简化Java数据库访问的工具,它是Spring JDBC模块的核心。这个封装工具类的出现是为了提供一种更简洁、易于使用的接口来执行SQL操作,减轻开发者处理数据库连接、事务管理以及...
1. **参数绑定**:`JdbcTemplate`支持预编译的SQL语句,可以安全地处理SQL注入问题。它能将Java对象的值绑定到SQL查询中的占位符,例如`?`或`:${param}`。 2. **事务管理**:`JdbcTemplate`提供了自动的事务管理...
在Spring框架中,`JdbcTemplate` 是一个非常重要的组件,它提供了一种简化数据库操作的API,使得开发者能够更安全、高效地与数据库交互。在本文中,我们讨论了如何利用`JdbcTemplate`来实现一个基类DAO(Data Access...
4. 在DAO类中注入JdbcTemplate对象,这通常是通过Spring的依赖注入特性完成的。 5. 创建与数据库表对应的实体类,用于在Java代码中表示表中的数据。 6. 编写Service和DAO类中实现具体数据库操作的方法,如添加、删除...
在Java世界中,Spring框架是企业级应用开发的首选,而`JdbcTemplate`是Spring JDBC模块的核心组件,它提供了一种方便、灵活且强大的方式来操作数据库。本示例将深入探讨`JdbcTemplate`的使用,包括其核心功能以及...
3. **调用`JdbcTemplate`**:使用`JdbcTemplate`的`callProcedure()`或`execute()`方法执行存储过程,传入`SplitPageResultSetExtractor`实例作为参数。 4. **处理结果**:`ResultSetExtractor`会在内部维护当前页...
2. **参数绑定**:JdbcTemplate支持两种类型的参数绑定,一种是位置参数,用问号(?)表示,另一种是具名参数,通过占位符如`:paramName`来指定。具名参数在复杂查询和多参数绑定时更为清晰,降低了SQL注入的风险。 3...
《Spring JdbcTemplate 深入解析与实战应用》 在Java世界中,Spring框架以其强大的功能和灵活性,深受广大开发者的喜爱。其中,Spring JDBC Template是Spring提供的一个用于简化数据库操作的工具,它抽象了JDBC API...
这个库允许开发者灵活地选择合适的日志实现,如Log4j、Java内置的日志系统等。 总结来说,这些jar包共同构建了一个强大的Java数据库访问环境,使得开发者可以通过Spring的JDBCTemplate方便、高效地进行数据库操作,...
这里使用了`queryForObject()`方法,其接收三个参数:SQL语句、参数数组及期望的返回类型。如果查询结果为空或不匹配指定的返回类型,则会抛出异常。 ##### 3. `queryForList()` 当需要获取多行数据时,可以使用`...