Mybatis系列六:映射文件-结果集封装

一、返回List

	public List<Employee> getEmpsByLastNameLike(String lastName);
	<!-- public List<Employee> getEmpsByLastNameLike(String lastName); -->
	<!-- resultType:如果返回的是一个集合,要写集合中元素的类型  -->
	<select id="getEmpsByLastNameLike" resultType="com.atguigu.mybatis.bean.Employee">
		select * from tbl_employee where last_name like #{lastName}
	</select>

二、返回Map
1、Map<String, Object>

	//返回一条记录的map;key就是列名,值就是对应的值
	public Map<String, Object> getEmpByIdReturnMap(Integer id);
	<!--public Map<String, Object> getEmpByIdReturnMap(Integer id);  -->
	<select id="getEmpByIdReturnMap" resultType="map">
 		select * from tbl_employee where id=#{id}
 	</select>

2、Map<Integer,Employee>

 	//多条记录封装一个map:Map<Integer,Employee>:键是这条记录的主键,值是记录封装后的javaBean
	//@MapKey:告诉mybatis封装这个map的时候使用哪个属性作为map的key
	@MapKey("id")
	public Map<Integer, Employee> getEmpByLastNameLikeReturnMap(String lastName);
	<!--public Map<Integer, Employee> getEmpByLastNameLikeReturnMap(String lastName);  -->
	<select id="getEmpByLastNameLikeReturnMap" resultType="com.atguigu.mybatis.bean.Employee">
 		select * from tbl_employee where last_name like #{lastName}
 	</select>

三、测试

	@Test
	public void test() throws IOException{
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		//1、获取到的SqlSession不会自动提交数据
		SqlSession openSession = sqlSessionFactory.openSession();
		try{
			EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
			
			//List<Employee>
			List<Employee> like = mapper.getEmpsByLastNameLike("%e%");
			for (Employee employee : like) {
				System.out.println(employee);
			}

			//Map<String, Object>
			Map<String, Object> map = mapper.getEmpByIdReturnMap(1);
			System.out.println(map);

			//Map<Integer, Employee>
			Map<Integer, Employee> map1 = mapper.getEmpByLastNameLikeReturnMap("%e%");
			System.out.println(map1);

		}finally{
			openSession.close();
		}
	}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lizhiqiang1217/article/details/89421560