#{}和${}的区别
1.引入日志依赖
<!--log4j日志依赖-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2.配置资源文件(log4j.properties)
## debug 级别
log4j.rootLogger=DEBUG,Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t] [%c] [%p] - %m%n
log4j.logger.com.jing=DEBUG /
##输出sql 语句
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG</strong>
日志打印显示结果:
#{}示例:
select * from student where SID = #{id}
#{}使用类似于JDBC编程中prepareStatement的执行过程,在SQL中将参数通过‘?’占位符处理,将SQL和参数分别传递给SQL服务端。
${}示例:
select * from student where SID = ${id}
处理参数的获取使用ognl表达式,使用的参数必须提供getter方法
${}使用类似于JDBC中的Statement操作,在执行过程中将参数直接拼接到SQL上。