mapper xml 传入参数
时间: 2023-07-29 15:14:41 浏览: 78
在 MyBatis 中,我们可以使用 Mapper XML 来定义 SQL 语句。在定义 SQL 语句时,我们可以使用 parameterType 属性来指定参数的类型,使用 #{parameterName} 或 ${parameterName} 来引用参数。
其中,#{parameterName} 表示使用预编译语句,并可以防止 SQL 注入攻击;而 ${parameterName} 则表示直接将参数值替换到 SQL 语句中,可能存在 SQL 注入攻击风险。
例如,如果我们要查询用户信息,可以在 Mapper XML 中定义如下 SQL 语句:
```xml
<select id="getUserById" parameterType="int" resultType="User">
SELECT * FROM user WHERE id = #{id}
</select>
```
在上述 SQL 语句中,我们使用了 parameterType 属性来指定参数的类型为 int,使用 #{id} 来引用参数。在实际调用时,我们可以通过传入一个 int 类型的参数来调用该 SQL 语句,例如:
```java
User user = sqlSession.selectOne("getUserById", 1);
```
在上述代码中,我们传入了一个 int 类型的参数 1,该参数会被替换到 SQL 语句中的 #{id} 中,最终执行的 SQL 语句为:SELECT * FROM user WHERE id = 1。
阅读全文