mybatis多種查詢方法
阿新 • • 發佈:2020-09-08
- 查詢單行,並封裝成一個物件
Employee getEmpById(Integer id);
<select id="getEmpById" resultType="com.xj.bean.Employee">
select * from t_employee where id=#{id}
</select>
- 查詢多行,並封裝成一個list
List<Employee> getAllEmp();
- 注意:返回值型別依舊是Employee
<select id="getAllEmp" resultType="com.xj.bean.Employee"> select * from t_employee </select>
- 查詢單行,返回某些值,封裝成map
Map<String,Object> getEmpByIdReturnMap(Integer id);
- 注意:封裝成的map中,列名作為key,值作為value
<select id="getEmpByIdReturnMap" resultType="map">
select * from t_employee where id=#{id}
</select>
- 查詢多行,物件,返回一個map
注意:MapKey指定使用哪個列作為key值
@MapKey("id") Map<Integer,Employee> getAllEmpReturnMap();
<select id="getAllEmpReturnMap" resultType="com.xj.bean.Employee">
select * from t_employee
</select>
- 查詢多行,某些值
- 這個不知道有沒有更好的的方法
@MapKey("empname")
Map<Integer,Map> getEmpSomeReturnMap();
<select id="getEmpSomeReturnMap" resultType="map"> select empname,gender from t_employee </select>
會得到:
{ccc={empname=ccc, gender=1}, zhangsan={empname=zhangsan, gender=6}}
之後對其進行解析,獲取每個值,獲取每個名字
Map<Integer, Map> employees = employeeDao.getAllEmpReturnMap();
for(Map map : employees.values()){
System.out.println(map);
String empname = (String)map.get("empname");
System.out.println(empname);
}
{empname=ccc, gender=1}
ccc
{empname=zhangsan, gender=6}
zhangsan