MyBatis报错 The project was not built due to "Could not delete ''.". Fix the problem, then try ref

一时失言乱红尘 2022-03-31 15:37 305阅读 0赞

主要代码

1、MyBatis-config.xml*

  1. <!-- 第一种方式:设置properties -->
  2. <configuration>
  3. <properties resource="database.properties"/>
  4. <!-- 注: 如果两种方式同时进行设置,则会先执行property子节点中的配的值,
  5. 然后会去读取resource的文件中的值,如果有相同的属性名则会覆盖property,
  6. 结论:resource引入的文件属性值的优先级高于property子节点中配的值-->
  7. <properties>
  8. <property name="driver" value="com.mysql.jdbc.Driver"/>
  9. <property name="url" value="jdbc:mysql://localhost:3306/smbms"/>
  10. <property name="username" value="root"/>
  11. <property name="password" value="1998"/>
  12. </properties>
  13. <settings>
  14. <setting name="logImpl" value="LOG4J"/>
  15. </settings>
  16. <typeAliases>
  17. <!-- <typeAlias type="cn.smbms.pojo.User" alias="user"/> -->
  18. <package name="cn.smbms.pojo"/>
  19. </typeAliases>
  20. <!--通过default属性指定一个默认运行环境ID -->
  21. <environments default="development">
  22. <environment id="development">
  23. <!-- 事务管理器两种 JDBC/MANAGED-->
  24. <transactionManager type="JDBC"/>
  25. <!-- 数据源类型三种UNPOOLED | POOLED | JNDI -->
  26. <!-- POOLED 使用的是连接池的原理-->
  27. <dataSource type="POOLED">
  28. <property name="driver" value="${driver}"/>
  29. <property name="url" value="${url}"/>
  30. <property name="username" value="${username}"/>
  31. <property name="password" value="${password}"/>
  32. </dataSource>
  33. </environment>
  34. </environments>
  35. <!-- 将mapper文件加入到配置文件中 -->
  36. <mappers>
  37. <!-- 第一种方式:使用类资源路径获取资源-->
  38. <mapper resource="cn/smbms/dao/user/UserMapper.xml"></mapper>
  39. <mapper resource="cn/smbms/dao/provider/ProviderMapper.xml"></mapper>
  40. <!-- 第二种方式:使用url获取资源 -->
  41. <!-- <mapper url="file:///D:/UserMapper.xml"></mapper> -->
  42. </mappers>

2、UserMapper.xml(实体类User表与sql语句之间的映射)

在这里插入图片描述
3、单元测试代码
在这里插入图片描述
以上代码主要做对User用户表的个数进行统计,并输出统计结果,第一次运行报了下面这个错。

  • (0 ms) - 2019-1-3 11:01:57DEBUG Logging initialized using ‘class org.apache.ibatis.logging.log4j.Log4jImpl’ adapter.
  • (4 ms) - 2019-1-3 11:01:57DEBUG Logging initialized using ‘class org.apache.ibatis.logging.log4j.Log4jImpl’ adapter.
  • (18 ms) - 2019-1-3 11:01:57DEBUG PooledDataSource forcefully closed/removed all connections.
  • (18 ms) - 2019-1-3 11:01:57DEBUG PooledDataSource forcefully closed/removed all connections.
  • (19 ms) - 2019-1-3 11:01:57DEBUG PooledDataSource forcefully closed/removed all connections.
  • (19 ms) - 2019-1-3 11:01:57DEBUG PooledDataSource forcefully closed/removed all connections.

在进行程序调试后,发现程序在执行到以下这句
在这里插入图片描述
跳出了try块进入异常处理catch块,所以初步判断是MyBatis-config.xml文件编写有误,在xml文件更改正确后,重新执行方法时,控制台又报出以下错误,并且项目名一直标红色的×角标,但是项目中实际上没有报错的文件。
在这里插入图片描述

错误原因

在项目中对java文件或xml文件进行修改后,造成已编译的class文件与现有java文件不匹配,需要重新编译

解决方案

右击项目–source–Clean Up—清除项目中已生成的class文件,重新编译,刷新项目,如果问题还是没有得到解决那就重启eclipse或重启电脑就ok了。

发表评论

表情:
评论列表 (有 0 条评论,305人围观)

还没有评论,来说两句吧...

相关阅读