MogonBook_MyBatis_常见问题

1.SQL配置文件中parameterType

MyBatisSQL配置文件中的parameterType,支持继承关系:

<select id="test" parameterType="com.edtity.ParamEntity" resultType="HashMap">

例如这段代码中的ParamEntity继承了BaseParamEntity,而在调用的时候需要加#{},否则调用的是当前层级的实体类,例如:

<if test="#{pageEnd} != null">
    AND LIMIT 0,#{pageEnd}
</if>

加了if中的test中,加了#{},便能取到继承关系中的属性,不加则是在当前类中找相应的属性。

2.xml文件中#{}与${}的区别

在MyBatis的SQL配置文件中,#{}表示通过预处理方式也就是PreparedStatement进行值得传递,而${}则是通过拼字符串的方式进行值得传递也就是Statement,所以说#{}这种方式更加安全,而${}这种拼字符串的方式很容易被SQL注入

点赞