mybatis查询的三种方式

查询最需要关注的问题:①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>

 

上一篇:resultMap和resultType区别详解


下一篇:巨坑:数据库查询有结果,而对应的实体类个别为null