MyBatis注册映射文件(resource、class、package 三者区别)

1.resource加载方式

适用于类路径下的文件加载(注意:mybatis原始开发Dao.xml文件与接口文件不在同一路径下,仅能用resource加载映射文件)

    <mappers>
        //dao.xml的路径
        <mapper resource="com/vp/pojo/ToursInfoDao.xml"/>
    </mappers>

在这里插入图片描述
如果路径不对则会报找不到文件错误
如写成

    <mappers>
        <mapper resource="ToursInfoDao.xml"/>
    </mappers>

报错

Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource ToursInfoDao.xml
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
	at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)
	at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:64)

2.class加载方式

仅适用于类路径下,接口文件与映射文件在同一路径下,且接口名与映射文件名相同,并且映射文件命名为接口全类名的情况.

     <mappers>
        //class的内容是接口的全类名
        <mapper class="com.vp.dao.ToursInfoDao"/>
    </mappers>

在这里插入图片描述

3.package 加载方式(class加载方式的简写方式)

适用于类路径下,接口文件与映射文件在同一路径下,且接口名与映射文件名相同,并且映射文件命名为接口全类名的情况.

    <mappers>
         //package的内容是接口所在包的全路径
        <package name="com.vp.dao"/>
    </mappers>

在这里插入图片描述

注意:在编写MyBatis的映射配置文件时一点要注意以上规则,要不然就会出现找不到文件的错误。


版权声明:本文为weixin_43951534原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。