mybatise批量删除
时间: 2023-11-27 08:47:44 浏览: 67
以下是使用MyBatis进行批量删除的示例代码:
1.编写Mapper接口方法
```java
import java.util.List;
import model.AttachmentTable;
public interface AttachmentTableMapper {
int deleteByIds(List<Integer> ids);
}
```
2.在Mapper.xml文件中编写SQL语句
```xml
<delete id="deleteByIds" parameterType="java.util.List">
delete from attachment_table where id in
<foreach collection="list" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
```
3.在Java代码中调用Mapper接口方法
```java
List<Integer> ids = new ArrayList<>();
ids.add(1);
ids.add(2);
int result = attachmentTableMapper.deleteByIds(ids);
```
其中,ids为要删除的记录的id列表,attachmentTableMapper为Mapper接口的实例。
相关问题
mybatise批量查询
您好!对于MyBatis批量查询,您可以使用MyBatis提供的foreach标签来实现。下面是一个简单的示例代码:
```xml
<select id="getUsersByIds" resultType="User">
SELECT * FROM users
WHERE id IN
<foreach collection="userIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
```
在上述代码中,我们使用了foreach标签来动态地生成一个以用户ID列表为参数的IN子句。其中,`userIds`是一个Java集合(如List或数组),表示要查询的用户ID列表。通过在foreach标签中指定collection属性和item属性,可以将集合中的元素逐个取出并生成相应的SQL语句。
您可以根据自己的需求调整SQL语句和参数的命名,以适应您的数据模型和表结构。希望对您有帮助!如果还有其他问题,请继续提问。
mybatise模糊搜索
以下是MyBatis实现模糊搜索的方法:
1.在Mapper.xml文件中使用like语句实现模糊搜索。
例如,通过searchName查询alias_name或name:
```xml
<select id="selectByName" parameterType="String" resultType="Student">
select * from student
<where>
<if test="searchName != null">
and (name like concat('%',#{searchName},'%') or alias_name like concat('%',#{searchName},'%'))
</if>
</where>
</select>
```
2.在Java代码中使用通配符实现模糊搜索。
例如,在测试类中进行测试:
```java
@Test
public void testLikeOne() {
SqlSession session = MyBatisUtil.getSqlSession();
StudentDao dao = session.getMapper(StudentDao.class);
String name = "%张%";
List<Student> students = dao.selectLikeOne(name);
session.close();
students.forEach(student -> System.out.println(student));
}
```
其中,`%`表示匹配任意字符,包括0个字符。
阅读全文