概要
这几天遇到了一个很恶心的问题,当我在mapper里写了一个方法后,mapper.xml里也好规定好了方法,使用test测试时,一直报无法找到方法的错,终于找到了解决办法。
`
Mapper层
package org.example.mapper;
import org.apache.ibatis.annotations.Param;
import org.example.pojo.Emp;
public interface EmpMapper {
Emp getEmpById(@Param("empId")Integer empId);
}
Emp层
package org.example.pojo;
import java.sql.Date;
public class Emp {
private Integer empId;
private String empName;
private Integer Age;
private String gender;
public Integer getEmpId() {
return empId;
}
public void setEmpId(Integer empId) {
this.empId = empId;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public Integer getAge() {
return Age;
}
public void setAge(Integer age) {
Age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public Emp(Integer empId, String empName, Integer age, String gender) {
this.empId = empId;
this.empName = empName;
Age = age;
this.gender = gender;
}
@Override
public String toString() {
return "Emp{" +
"empId=" + empId +
", empName='" + empName + '\'' +
", Age=" + Age +
", gender='" + gender + '\'' +
'}';
}
}
Mapper.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="org.example.mapper.EmpMapper">
<resultMap id="empResultMap" type="org.example.pojo.Emp">
<id column="emp_id" property="empId"></id>
<id column="emp_name" property="empName"></id>
</resultMap>
<select id="getEmpById" resultMap="empResultMap">
select * from t_emp where emp_id= #{empId}
</select>
</mapper>
TesT层
import org.apache.ibatis.session.SqlSession;
import org.example.mapper.EmpMapper;
import org.example.pojo.Emp;
import org.example.utils.SqlSessionUtil;
import org.junit.Test;
public class ResultMapTest {
@Test
public void testGetResultMap() {
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
Emp emp = mapper.getEmpById(1);
System.out.println(emp);
}
}