规范
1、XML映射文件的名称与Mapper接口的名称一致,并且将XML映射文件和Mapper接口放置在相同的包下(同包同名)
2、XML映射文件的namespace属性为Mapper接口全限定名一致
3、XML映射文件中SQL语句的id与Mapper接口中的方法名一致,并且保持返回类型一致
由于Mapper包下的接口为EmpMapper,所以在resource文件下创建一个xml文件EmpMapper.xml,其路径与EmpMapper路径相同
配置XML文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.springboot.mapper.EmpMapper">
<!--resultType:单条记录所封装的类型,赋值的内容是实体类的相对路径-->
<select id="list" resultType="com.itheima.springboot.pojo.Emp">
select * from emp where name like '%${name}%' and gender = #{gender} and entrydate between #{begin} and #{end} order by update_time desc
</select>
</mapper>
来源与帮助文档mybatis.p2hp.com/getting-sta…
namespace赋值的是EmpMapper的相对路径
id与Mapper接口方法名保持一致 mappper的类如下:
public interface EmpMapper {
public List<Emp> list(String name, Short gender, LocalDate begin,LocalDate end);
}
mapper接口的方法名为list,所以配置文件的id = "list"
测试
@Test
public void testList(){
List<Emp> EmpList = empMapper.list("张", (short) 1, LocalDate.of(2010, 1, 1), LocalDate.of(2020, 1, 1));
System.out.println(EmpList);
}