关于"在MyBatis中,mapper.xml的SQL语句中的占位符${}和#{}描述错误的是()"的答案很多朋友不是很清楚,接下来小编就为介绍一下改题答案吧。
在MyBatis中,mapper.xml的SQL语句中的占位符${}和#{}描述错误的是()
A、一般会采用#{},#{}在mybatis中,最后会被解析为?,其实就是Jdbc的PreparedStatement中的?占位符,它有预编译的过程,可以防止SQL注入
B、#{}中的变量名可以任意,如果入参类型是pojo,比如是Student类那么#{name}表示取入参对象Student中的name属性
C、${}取对象的属性使用的是OGNL(Object Graph Navigation Language)表达式
D、${}不会做类型解析,但不存在SQL注入的风险
正确答案:D