mybatis批量删除语句 除了id有三个参数
时间: 2024-01-29 11:03:36 浏览: 138
Mybatis批量删除语句可以有多个参数,不一定只是ids参数。除了ids参数,还可以有其他参数,例如:
1. condition:删除记录的条件,通常是一个字符串类型的参数。
2. operator:条件之间的操作符,通常是一个枚举类型的参数。
3. orderBy:删除记录的排序方式,通常是一个字符串类型的参数。
例如,在Mapper XML文件中定义一个带有条件和排序的批量删除语句:
```xml
<delete id="batchDelete" parameterType="map">
delete from user
<where>
<if test="condition != null and condition != ''">
and ${condition}
</if>
</where>
<if test="orderBy != null and orderBy != ''">
order by ${orderBy}
</if>
</delete>
```
在Java代码中,可以使用以下方式执行带有条件和排序的批量删除操作:
```java
Map<String, Object> params = new HashMap<>();
params.put("ids", Arrays.asList(1, 2, 3));
params.put("condition", "age > 20");
params.put("orderBy", "id desc");
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.batchDelete(params);
sqlSession.commit();
} finally {
sqlSession.close();
}
```
在上述代码中,`ids`参数是一个`List<Integer>`类型的列表,`condition`和`orderBy`参数是字符串类型的参数,`parameterType`指定为`map`,`statement`是在Mapper XML文件中定义的`batchDelete`语句的唯一标识符。
阅读全文