MyBatis常见问题
SQL配置文件中parameterType
MyBatisSQL配置文件中的parameterType,支持继承关系:
1 | <select id="test" parameterType="com.edtity.ParamEntity" resultType="HashMap"> |
例如这段代码中的ParamEntity继承了BaseParamEntity,而在调用的时候需要加#{},否则调用的是当前层级的实体类,例如:
1 | <if test="#{pageEnd} != null"> |
加了if中的test中,加了#{},便能取到继承关系中的属性,不加则是在当前类中找相应的属性。
xml文件中#{}与${}的区别
在MyBatis的SQL配置文件中,#{}表示通过预处理方式也就是PreparedStatement进行值得传递,而${}则是通过拼字符串的方式进行值得传递也就是Statement,所以说#{}这种方式更加安全,而${}这种拼字符串的方式很容易被SQL注入
评论






