MyBatis-XML映射文件

226 阅读1分钟

规范

1、XML映射文件的名称与Mapper接口的名称一致,并且将XML映射文件和Mapper接口放置在相同的包下(同包同名)
2、XML映射文件的namespace属性为Mapper接口全限定名一致
3、XML映射文件中SQL语句的id与Mapper接口中的方法名一致,并且保持返回类型一致

由于Mapper包下的接口为EmpMapper,所以在resource文件下创建一个xml文件EmpMapper.xml,其路径与EmpMapper路径相同

image.png

配置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"

image.png

测试

@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);

}