MyBatis插值${}的新认识
1、插值的定义
“插值”是编程语言的术语,其表示为${...}
的格式。
2、FreeMarker中的插值
在freemarker模板语言中,插值${...}将使用数据模型中的部分替代输出。
3、Scala中的插值
Scala有一个很方便的特性:字符串插值。字符串插值能在字符串的字面量中内嵌变量和表达式。如下代码所示:
object Clock {
def main(args: Array[String]){
var n : Int = 1
while( n <= 60 ){
println(s"${n} second.")
n += 1
}
}
}
在这段代码中,字符串字面量 s"${n} second."中直接使用了变量n。而在Java中,通常需要使用显式的连接操作,比如:n + " second.",才能达到同样的效果。
3、MyBatis中的插值
${}是字符串替换,往往与#{}相混淆,而#{}是预编译处理命令。#{}多用于命令场景,同理,#{}在FreeMarker中表示FreeMarker指令,即FTL指令。
4、参考:
MyBatis常见面试题1:精讲#{}和${}的区别是什么?