第一节中查询的方法返回类型为Student,当返回类型为List<Student>时怎么办呢?

这时需要配置resultMap标签.

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  3. <!-- namespace:Mapper映射 -->  
  4. <!-- 这个文件感觉就像StudentMapper接口的实现一样,只是从java文件变成了xml文件  
  5. 充当了Dao类的功能  
  6.  -->  
  7. <mapper namespace="com.skymr.mybatis.mappers.StudentMapper">  
  8.     <select id="getStudent" parameterType="int" resultType="Student">  
  9.         <!-- mybatis要自己写sql语句 -->  
  10.         select * from mybatis_Student where id=#{id}  
  11.     </select>  
  12.       
  13.     <!-- 查询所有学生 -->  
  14.     <!-- resultMap属性要对应 resultMap的id属性 -->  
  15.     <select id="getAllStudents" resultMap="studentMap">  
  16.         select * from mybatis_Student  
  17.     </select>  
  18.       
  19.     <resultMap type="Student" id="studentMap">  
  20.         <id property="id" column="id"/>  
  21.         <result property="name" column="name"/>  
  22.         <result property="age" column="age"/>  
  23.     </resultMap>  
  24. </mapper>   

 

  1. package com.skymr.mybatis.mappers;  
  2.   
  3. import java.util.List;  
  4.   
  5. import com.skymr.mybatis.model.Student;  
  6.   
  7. public interface StudentMapper {  
  8.   
  9.     public Student getStudent(int id);  
  10.       
  11.     public List<Student> getAllStudents();  
  12. }  

 

    1. package com.skymr.mybatis.service;  
    2.   
    3. import java.util.List;  
    4.   
    5. import org.apache.ibatis.session.SqlSession;  
    6. import org.junit.After;  
    7. import org.junit.Before;  
    8. import org.junit.Test;  
    9. import org.slf4j.Logger;  
    10. import org.slf4j.LoggerFactory;  
    11.   
    12. import com.skymr.mybatis.mappers.StudentMapper;  
    13. import com.skymr.mybatis.model.Student;  
    14. import com.skymr.mybatis.util.MybatisUtil;  
    15.   
    16. public class StudentTest2 {  
    17.   
    18.     private Logger logger = LoggerFactory.getLogger(StudentTest2.class);  
    19.       
    20.     private SqlSession session;  
    21.       
    22.     @Before  
    23.     public void beforeTest(){  
    24.         session = MybatisUtil.openSession();  
    25.     }  
    26.     @After  
    27.     public void afterTest(){  
    28.         session.close();  
    29.     }  
    30.       
    31.     @Test  
    32.     public void testGetAllStudents(){  
    33.         logger.info("测试取得所有学生");  
    34.         StudentMapper mapper = session.getMapper(StudentMapper.class);  
    35.         List<Studentlist = mapper.getAllStudents();  
    36.         logger.info(list.toString());  
    37.     }  
posted on 2017-01-17 09:25  劳资的睡姿决定发型  阅读(243)  评论(0编辑  收藏  举报