1、pom.xml文件中添加依赖
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
主要是因为使用maven在编译项目时,会默认不打包java文件夹下的xml文件,固在pom.xml中添加上面条件表示 maven在打包时不会过滤src/main/java文件夹下的xml文件。
2、添加Mapper对应的xml文件
在com.lingyi.mybatis.mapper.xml包中添加跟PesonMapper接口同名的PersonMapper.xml文件。
PersonMapper.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="com.lingyi.mybatis.mapper.PersonMapper">
<!--配置getPersonById方法,注意该id名称需要跟下面Mapper文件中自定义的方法保持一致-->
<select id="getPersonById" resultType="com.lingyi.mybatis.bean.Person">
SELECT *
FROM `person`
WHERE `id` = #{id}
</select>
</mapper>
3、声明Mapper的自定义方法
在PersonMapper.java的接口文件中声明自定义操作数据库的方法。
4、配置applicaton.yaml
在application.yaml文件中添加mapper-locations指定xml文件所在的包路径。
#mybatisplus配置
mybatis-plus:
configuration:
#配置mybatisplus日志
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath:com/lingyi/mybatis/mapper/xml/*.xml #指定xml文件所在的包路径
5、测试
添加测试类TestCustomMapper.java,并且运行。
package com.lingyi.mybatis;
import com.lingyi.mybatis.bean.Person;
import com.lingyi.mybatis.mapper.PersonMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class TestCustomMapper {
@Autowired
private PersonMapper personMapper;
@Test
public void testCustomMapper(){
Person p = personMapper.getPersonById(1); #测试自定义的Mapper方法
System.out.println(p);
}
}