<?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.mybatis.entity.employeeMapper">
<select id="selectEmployee" resultType="com.mybatis.entity.Employee">
select id,last_name as lastName,gender,email from tbl_employee where id = #{id}
</select>
<select id="getAll" resultType="java.util.Map">
select id,last_name lastName,gender,email from tbl_employee
</select>
</mapper>
1、使用mapper文件中的namespace再加mapper文件中的具体查询id标识一个查询
@Test
public void test() throws IOException {
Employee emp = sqlSession.selectOne("com.mybatis.entity.employeeMapper.selectEmployee",2);
System.out.println(emp);
}
2、使用接口,mapper文件中的namespace为接口的全类名,来让mapper和接口绑定,接口中的方法名为mapper文件中查询的id,来绑定方法和具体的查询
使用接口的优点:解耦、类型检查
package com.mybatis.mapper;
import com.mybatis.entity.Employee;
public interface EmployeeMapper {
public Employee selectEmployee(Integer id);
}
测试类
@Test
public void testMapper() {
EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
Employee employee = employeeMapper.selectEmployee(1);
System.out.println(employeeMapper.getClass());//class com.sun.proxy.$Proxy6
System.out.println(employee);
}