`

Log4j打印JdbcTemplate及参数

阅读更多
项目中使用JdbcTemplate进行DAO层封装,有时需要调试查看SQL语句及参数

首先是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

分享到:
评论

相关推荐

    打印JdbcTemplate执行sql

    2. **JdbcTemplate的使用**:在使用`JdbcTemplate`执行SQL时,其内部会自动创建SQL执行的Logger对象,如果日志级别设置为`DEBUG`,则会打印出SQL语句及其参数。例如,对于一个简单的查询操作: ```java ...

    springboot log4jdbc 打印完整sql

    四、使用 Log4jdbc 打印完整 SQL 语句 现在,我们已经配置好了 Log4jdbc 和 Logback。下面,我们可以使用 Log4jdbc 打印完整的 SQL 语句: ```java @Service public class MyService { @Autowired private ...

    用maven + spring mvc +JDBCTEMPLATE +由Slf4j实现Common-Logging+Log4j的日志控制(数据库用MySQL)

    4. **Slf4j** - 日志门面,允许用户在运行时选择不同的日志实现,如Common-Logging或Log4j,提供了统一的API进行日志记录。 5. **MySQL** - 常用的关系型数据库管理系统,用于存储应用的数据。 在搭建项目时,首先...

    struts+spring +jdbctemplate demo

    4. 数据访问层通过JdbcTemplate执行SQL操作,例如查询、插入、更新或删除记录。 5. 完成数据库操作后,Action将结果返回给Struts,Struts再决定展示哪个视图(可能是JSP页面)。 这个Demo可能包含以下关键文件: -...

    JdbcTemplate

    JdbcTemplate支持参数化查询,通过占位符和参数数组来防止SQL注入。如上例所示,使用`?`作为占位符,并传递参数数组,JdbcTemplate会自动处理参数绑定,避免了SQL注入的风险。 **6. 代码测试** 由于JdbcTemplate不...

    spring-jdbcTemplate实例工程

    2. **参数绑定**:JdbcTemplate支持多种方式的参数绑定,包括占位符(问号?)和命名参数(如::name),并且提供了ValueObject(如:PreparedStatementCreator)进行复杂参数的设置。 3. **RowMapper**:这是将结果...

    jdbctemplate+druid连接池.docx

    同时,为了日志记录,你可能还需要添加 Log4j 的依赖: ```xml <groupId>log4j <artifactId>log4j <version>1.2.17 ``` 接下来,配置 Druid 连接池。通常,我们可以创建一个名为 `application-druid....

    Spring JdbcTemplate

    `log4j.properties`是日志配置文件,用于设置应用程序的日志记录行为。在Spring JdbcTemplate中,良好的日志配置可以帮助我们追踪SQL执行情况,排查问题。例如,你可以配置日志级别(DEBUG, INFO, WARN等),指定...

    JdbcTemplate的事务控制.docx

    #### 四、JdbcTemplate与Spring事务控制的结合 当使用`JdbcTemplate`结合Spring框架时,可以采用与原生JDBC事务控制类似的方法,但在Spring环境中进行管理。以下是一个使用Druid数据库连接池的示例代码: ```java ...

    SpringJdbcTemplate封装工具类

    SpringJdbcTemplate是Spring框架中用于简化Java数据库访问的工具,它是Spring JDBC模块的核心。这个封装工具类的出现是为了提供一种更简洁、易于使用的接口来执行SQL操作,减轻开发者处理数据库连接、事务管理以及...

    jdbcTemplate

    1. **参数绑定**:`JdbcTemplate`支持预编译的SQL语句,可以安全地处理SQL注入问题。它能将Java对象的值绑定到SQL查询中的占位符,例如`?`或`:${param}`。 2. **事务管理**:`JdbcTemplate`提供了自动的事务管理...

    spring的jdbctemplate的crud的基类dao

    在Spring框架中,`JdbcTemplate` 是一个非常重要的组件,它提供了一种简化数据库操作的API,使得开发者能够更安全、高效地与数据库交互。在本文中,我们讨论了如何利用`JdbcTemplate`来实现一个基类DAO(Data Access...

    Spring--JdbcTemplate.pdf

    4. 在DAO类中注入JdbcTemplate对象,这通常是通过Spring的依赖注入特性完成的。 5. 创建与数据库表对应的实体类,用于在Java代码中表示表中的数据。 6. 编写Service和DAO类中实现具体数据库操作的方法,如添加、删除...

    JdbcTemplate示例

    在Java世界中,Spring框架是企业级应用开发的首选,而`JdbcTemplate`是Spring JDBC模块的核心组件,它提供了一种方便、灵活且强大的方式来操作数据库。本示例将深入探讨`JdbcTemplate`的使用,包括其核心功能以及...

    jdbcTemplate分页彻底解决,使用游标滚动

    3. **调用`JdbcTemplate`**:使用`JdbcTemplate`的`callProcedure()`或`execute()`方法执行存储过程,传入`SplitPageResultSetExtractor`实例作为参数。 4. **处理结果**:`ResultSetExtractor`会在内部维护当前页...

    SSH笔记-Spring JdbcTemplate

    2. **参数绑定**:JdbcTemplate支持两种类型的参数绑定,一种是位置参数,用问号(?)表示,另一种是具名参数,通过占位符如`:paramName`来指定。具名参数在复杂查询和多参数绑定时更为清晰,降低了SQL注入的风险。 3...

    spring jdbcTemplate

    《Spring JdbcTemplate 深入解析与实战应用》 在Java世界中,Spring框架以其强大的功能和灵活性,深受广大开发者的喜爱。其中,Spring JDBC Template是Spring提供的一个用于简化数据库操作的工具,它抽象了JDBC API...

    JDBCTemplate相关jar包

    这个库允许开发者灵活地选择合适的日志实现,如Log4j、Java内置的日志系统等。 总结来说,这些jar包共同构建了一个强大的Java数据库访问环境,使得开发者可以通过Spring的JDBCTemplate方便、高效地进行数据库操作,...

    JdbcTemplate查询

    这里使用了`queryForObject()`方法,其接收三个参数:SQL语句、参数数组及期望的返回类型。如果查询结果为空或不匹配指定的返回类型,则会抛出异常。 ##### 3. `queryForList()` 当需要获取多行数据时,可以使用`...

Global site tag (gtag.js) - Google Analytics