MyBatis框架使用foreach遍历

本文介绍了一个使用MyBatis框架进行批量查询的具体示例,通过Java代码和XML映射文件展示了如何利用foreach标签从数据库中根据多个用户名查询员工信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Client.java

package client;

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import org.apache.ibatis.io.*;
import org.apache.ibatis.session.*;
import domain.*;

public class Client {
	public static void main(String args[]) throws IOException {
		InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
		SqlSession sqlSession = factory.openSession(true);
		List<String> list = new ArrayList<String>();
		list.add("王朝");
		list.add("马汉");
		List<Employee> emp = sqlSession.selectList("findEmployees", list);
		for (Employee em : emp)
			System.out.println("Employee's username: " + em.getUsername() + " Employee's password: " + em.getPassword()
					+ " Employee's sex: " + em.getSex());
		sqlSession.close();
	}
}

UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="/">
	<select id="findEmployees" parameterType="ArrayList"
		resultType="domain.Employee">
		select * from employee3
		where username in
		<foreach collection="list" item="item" open="(" close=")"
			index="i" separator=",">
			#{item}
		</foreach>
	</select>
</mapper>

表employee3
在这里插入图片描述
查询结果:
在这里插入图片描述
foreach标签属性:
item:集合每个对象迭代名
index:迭代序号
open:语句以什么开始
close:语句以什么结束
separator:迭代分隔符
collection:入参类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值