查询最需要关注的问题:①resultType自动映射,②方法返回值;
interface EmpSelectMapper:
package com.atguigu.mapper; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.MapKey; import com.atguigu.bean.Emp; public interface EmpSelectMapper { //根据eid查询一个员工信息 Emp getEmpByEid(String eid); //获取所有的员工的数量 Integer getCount(); //以map集合获取一个员工信息(列名和列值----属性名和属性值) Map<String, Object> getEmpMapByEid(String eid); //以map集合获取所有员工信息 @MapKey("eid")//设置map的键,因为在查询时传出所有的员工信息,可以把员工信息作为值,但是必须设置键 Map<String, Object> getAllEmpMap(); }
EmpSelectMapper.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="com.atguigu.mapper.EmpSelectMapper"> <!-- Emp getEmpByEid(String eid); --> <select id="getEmpByEid" resultType="Emp"> select eid,ename,age,sex from emp where eid = #{eid} </select> <!-- Integer getCount(); --> <select id="getCount" resultType="Integer"> select count(eid) from emp </select> <!-- Emp getEmpMapByEid(String eid); --> <select id="getEmpMapByEid" resultType="java.util.HashMap"> select eid,ename,age,sex from emp where eid = #{eid} </select> <!-- Map<String, Object> getAllEmpMap(); --> <select id="getAllEmpMap" resultType="Emp"> select eid,ename,age,sex from emp </select> </mapper>