关于Mybatis 中Mapper使用package方式配置mapper文件出错

2022-07-08 09:56:53

Mybatis 中Mapper使用package方式配置mapper文件 报错在这里插入图片描述

mybatis全局配置文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration
  PUBLIC"-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><properties resource="db.properties"></properties><typeAliases><package name="com.demo.entity"/></typeAliases><environmentsdefault="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="${password}"/></dataSource></environment></environments><mappers><!--<mapper resource="mapper/StudentMapper.xml"/>--><package name="com.demo.mapper"/></mappers></configuration>

测试mapper.xml

<mapper namespace="com.demo.mapper.StudentMapper"><select id="selAll" resultType="Student">
        select* from student</select></mapper>

测试方法

@TestpublicvoidtestSelAll(){
        SqlSession sqlSession=getSqlSession();
        StudentMapper mapper= sqlSession.getMapper(StudentMapper.class);
        List<Student> students= mapper.selAll();for(Student student: students){
            System.out.println(student);}}

报错原因:在maven项目中,如果在resources中创建mapper.xml文件存放的应当是一个包中,我们正常使用com.demo.mapper(测试使用包名),在resources中只是一个文件夹而不是包。

解决方法:在resources文件中创建包名为:com/demo/mapper
这样创建出来的就是个包,然后将相应的xml配置文件放进去,在mybatis的全文配置文件中配置一下,就可以啦!

修改之后结果:
在这里插入图片描述

  • 作者:Funny小猪
  • 原文链接:https://blog.csdn.net/qq_40872146/article/details/107952627
    更新时间:2022-07-08 09:56:53