#{}和${}区别
#{}:底层使用PreparedStatement。先进行SQL语句的编译,然后给SQL语句的占位符问号?传值
${}:底层使用Statement。先进行SQL语句的拼接,然后再对SQL语句进行编译。存在sql注入风险
优先使用#{},避免sql注入风险。
模糊查询
别名
多对一
级联属性映射
association
两条sql语句,分布查询(可复用,支持懒加载)
一对多
collection
分步查询
mapper配置
#{}:底层使用PreparedStatement。先进行SQL语句的编译,然后给SQL语句的占位符问号?传值
${}:底层使用Statement。先进行SQL语句的拼接,然后再对SQL语句进行编译。存在sql注入风险
优先使用#{},避免sql注入风险。
级联属性映射
association
两条sql语句,分布查询(可复用,支持懒加载)
collection
分步查询
mapper配置