mybatis传参数给sql语句
时间: 2023-11-09 12:02:05 浏览: 80
mybatis动态sql及参数的传递
MyBatis 传参数给 SQL 语句的方式有以下几种:
1. 位置参数:使用 #{0}、#{1}、#{2} 等占位符来指定参数的位置,例如:
```
SELECT * FROM user WHERE id = #{0} AND name = #{1}
```
在 Java 代码中,调用 SQL 语句时需要按照顺序传入参数,例如:
```
sqlSession.selectOne("getUserByIdAndName", new Object[]{1, "张三"});
```
2. 命名参数:使用 #{paramName} 的方式来指定参数的名称,例如:
```
SELECT * FROM user WHERE id = #{id} AND name = #{name}
```
在 Java 代码中,调用 SQL 语句时需要传入一个 Map 对象,其中 key 是参数名称,value 是参数值,例如:
```
Map<String, Object> params = new HashMap<>();
params.put("id", 1);
params.put("name", "张三");
sqlSession.selectOne("getUserByIdAndName", params);
```
3. @Param 注解:在方法参数前加上 @Param 注解,指定参数的名称,例如:
```
SELECT * FROM user WHERE id = #{id} AND name = #{name}
```
在 Java 代码中,调用 SQL 语句时需要按照 @Param 注解指定的名称传入参数,例如:
```
User getUserByIdAndName(@Param("id") int id, @Param("name") String name);
```
阅读全文