当前位置: 首页 > news >正文

IDEA写mybatis程序,java.io.IOException:Could not find resource mybatis-config.xml

找不到mybatis-config.xml
在这里插入图片描述
尝试maven idea:module,不是模块构造问题
尝试检验pom.xml,在编译模块添加了解析resources内容依旧不行

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>untitled1</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><!-- MyBatis的jar包配置 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version></dependency><!-- MySQL驱动包的配置 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.30</version> <!-- 更新为与你的MySQL服务器版本兼容的版本 --></dependency></dependencies><!-- 配置以下信息,是src/main/java目录下有xml文件 --><build><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources></build>
</project>

再回看一下源代码

package com.mybatis.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.mybatis.po.MyUser;
public class MyBatisTest {public static void main(String[] args) {try {InputStream config = Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(config);SqlSession ss = ssf.openSession();MyUser mu = ss.selectOne("com.mybatis.mapper.UserMapper.selectUserById", 1);System.out.println(mu);MyUser addmu = new MyUser();addmu.setUname("张三");addmu.setUsex("男");ss.insert("com.mybatis.mapper.UserMapper.addUser",addmu);MyUser updatemu = new MyUser();updatemu.setUid(1);updatemu.setUname("杨婉莹");updatemu.setUsex("女");ss.update("com.mybatis.mapper.UserMapper.updateUser", updatemu);ss.delete("com.mybatis.mapper.UserMapper.deleteUser", 3);List<MyUser> listMu = ss.selectList("com.mybatis.mapper.UserMapper.selectAllUser");for (MyUser myUser : listMu) {System.out.println(myUser);}ss.commit();ss.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

关键在于找到resource

   InputStream config = Resources.getResourceAsStream("mybatis-config.xml");

在网上也有resource目录突然罢工不生效,也就是检测不到resource目录,这边也是层级的问题
需要把resource目录设置为资源根目录,这本应该是创建项目时默认的,但是失效了我们需要重新设置一下
在这里插入图片描述

右键resources目录将目录标记为测试资源根目录,当图标右下角出现三条黄色横杠时就成功了。

相关文章:

  • 无线WiFi安全渗透与攻防(五) aircrack-ng(亲测有效)、mdk3联合攻击
  • Windows GitBash解决Github添加密钥时提示Key is already in use的问题
  • 【源码系列】短剧系统开发国际版短剧系统软件平台介绍
  • Mysql 提升索引效率优化的八种方法
  • 常见的数据结构有哪些?
  • 通过右键用WebStorm、Idea打开某个文件夹或者在某一文件夹下右键打开当前文件夹用上述两个应用
  • 2023最新软件测试20个基础面试题及答案
  • 实测_GPT_Assistant
  • CentOS修改root用户密码
  • Vue+ElementUI技巧分享:自定义表单项label的文字提示
  • golang中context使用总结
  • 【自动化测试】基于Selenium + Python的web自动化框架!
  • SDL2 消息循环和事件响应
  • RESTful(Representational State Transfer)
  • 第五章 将对象映射到 XML - 指定映射 XML 文档的格式选项
  • [deviceone开发]-do_Webview的基本示例
  • 4个实用的微服务测试策略
  • git 常用命令
  • gulp 教程
  • Js基础知识(一) - 变量
  • leetcode-27. Remove Element
  • mysql 数据库四种事务隔离级别
  • Nodejs和JavaWeb协助开发
  • Swift 中的尾递归和蹦床
  • vue自定义指令实现v-tap插件
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 如何利用MongoDB打造TOP榜小程序
  • 时间复杂度与空间复杂度分析
  • 手机端车牌号码键盘的vue组件
  • 思维导图—你不知道的JavaScript中卷
  • 通过npm或yarn自动生成vue组件
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​queue --- 一个同步的队列类​
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #每天一道面试题# 什么是MySQL的回表查询
  • (1)虚拟机的安装与使用,linux系统安装
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • .net Signalr 使用笔记
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .NetCore项目nginx发布
  • .NET分布式缓存Memcached从入门到实战
  • .net开发引用程序集提示没有强名称的解决办法
  • @EnableWebMvc介绍和使用详细demo
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)