解决方案:
在pom.xml文件最后追加标签,以便可以将xml文件复制到classess中,并在程序运行时进行正确的读取!
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>*.xml</inlude><!--默认(新添加自定义则失效)-->
<include>**/*.xml</include><!--新添加 */代表1级目录 **/代表多级目录-->
</includes>
<filetering>true</filetering>
</resource>
</resources>
</build>
附:properties配置文件的设置
对于mybattis-config.xml的核心配置中,如果存在需要频繁改动的数据内容,可以提取到properties中
jdbc.url=jdbc:mysql://localhost:3306/day19?useUnicode=true&characterEncoding=utf-8
jdbc.driver=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=a
修改mybatis-config.xml。
<?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="jdbc.properties"></properties>
<!--实体类别名-->
<typeAliases>
<!-- <typeAlias type="com.qf.entity.User" alias="user_shine"/>-->
<!--自动扫描包,将类名作为别名-->
<package name="com.qf.entity"/>
</typeAliases>
<!--核心配置信息-->
<environments default="shine_config">
<!-- 配置数据库相关 -->
<environment id="shine_config">
<!-- 事务控制类型 -->
<transactionManager type="jdbc"></transactionManager>
<!-- 数据库相关连接参数 -->
<dataSource type="org.apache.ibatis.datasource.pooled.PooledDataSourceFactory">
<property name="driver" value="${jdbc.driver}"/>
<!-- &转义 &; -->
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!-- 注册mapper 文件-->
<mappers>
<!-- <mapper resource="UserDAOMapper.xml"/>-->
<mapper resource="com/qf/Dao/UserDAOMapper.xml"/>
</mappers>
</configuration>