程序员社区

【MyBatis学习及总结05】映射配置文件(查询结果封装为集合)

文章目录

      • 查询多条记录封装为List集合
      • 查询单条记录封装为Map
      • 查询多条记录封装为map

查询多条记录封装为List集合

下面为查询所有员工:

public interface EmployeeDao {
    public List<Employee> getAllEmployee();
}

注意:这里resultType:写的是集合里面元素的类型

<select id="getAllEmployee" resultType="com.hh.bean.Employee">
   <!--resultType:如果返回的是集合,写的是集合里面元素的类型-->
   select * from t_employee
</select>
@Test
public void testSelectByEmp() throws IOException {
    SqlSession sqlSession = sqlsessionFactory.openSession();
    EmployeeDao mapper = sqlSession.getMapper(EmployeeDao.class);
    List<Employee> employees = mapper.getAllEmployee();
    for(Employee employee:employees){
        System.out.println(employee);
    }
    sqlSession.close();
}

在这里插入图片描述

查询单条记录封装为Map

根据id查询,数据库中的字段作为key,字段对应的值作为value

public interface EmployeeDao {
    public Map<String,Object> getEmpByIdReturnMap(int id);
}

返回值类型是一个map

<select id="getEmpByIdReturnMap" resultType="map">
   select * from t_employee  where id=#{id};
</select>
@Test
public void testSelectByIdReturnMap() throws IOException {
    SqlSession sqlSession = sqlsessionFactory.openSession();
    EmployeeDao mapper = sqlSession.getMapper(EmployeeDao.class);
    Map<String, Object> empReturnMap = mapper.getEmpByIdReturnMap(1);
    System.out.println(empReturnMap);
    sqlSession.close();
}

在这里插入图片描述

查询多条记录封装为map

将id作为key,Employee对象作为value,但是需要使用@MapKey()指定将哪个属性作为map的key

public interface EmployeeDao {
    //id作为key,封装的Employee对象作为value
    //查询出的记录的id值作为key
    @MapKey("id")
    public Map<Integer,Employee> getAllEmpReturnMap();
}
<select id="getAllEmpReturnMap" resultType="com.hh.bean.Employee">
   select * from t_employee;
</select>
@Test
public void testSelectReturnMap() throws IOException {
    SqlSession sqlSession = sqlsessionFactory.openSession();
    EmployeeDao mapper = sqlSession.getMapper(EmployeeDao.class);
    Map<Integer, Employee> map = mapper.getAllEmpReturnMap();
    System.out.println(map);
    sqlSession.close();
}

在这里插入图片描述

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 【MyBatis学习及总结05】映射配置文件(查询结果封装为集合)

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区