在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


Tag:MyBatis数据持久化框架 属性 对象 时间:2024-04-20 21:29:06