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

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 block
            e.printStackTrace();
        }
    }
}

关键在于找到resource

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

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

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


http://www.kler.cn/news/133661.html

相关文章:

  • 单元测试实战(六)其它
  • 【HarmonyOS开发】设备调试避坑指南
  • 三十一、W5100S/W5500+RP2040树莓派Pico<TCP_Server多路socket>
  • 别再吐槽大学教材了,来看看这些网友强推的数学神作!
  • 【我和Python算法的初相遇】——体验递归的可视化篇
  • SQL note2:DIsks and Files
  • linux如何一键自动安装系统(PXE)
  • 03_面向对象高级_多态
  • C++11的互斥包装器
  • 怎样助力IT运维团队更专业、更协作、更高效
  • 详解如何使用Jenkins一键打包部署SpringBoot项目
  • 华媒舍:怎样成为谷歌竞价排名羸家?10个方法
  • HIT 模式识别 手写汉字分类 Python实现
  • 038、语义分割
  • C++--哈希表--散列--冲突--哈希闭散列模拟实现
  • LintCode 1394 · Goat Latin (字符串处理题)
  • NET8 ORM 使用AOT SqlSugar
  • RabbitMQ-高级篇-黑马程序员
  • jsp中使用PDF.js实现pdf文件的预览
  • php mysql 如何处理查询中存在正则特殊字符的查询
  • Element-UI el-select下拉框多选实现全选
  • 生命在于学习——主板跳线的学习
  • OPPO发布AndesGPT大模型;Emu Video和Emu Edit的新突破
  • 正则表达式去掉代码末尾的数字
  • Hive默认分割符、存储格式与数据压缩
  • Linux环境的Windows子系统
  • C语言基础篇4:变量、存储、库函数
  • 【Seata源码学习 】篇三 seata客户端全局事务开启、提交与回滚
  • 【hive-解决】HiveAccessControlException Permission denied: CREATEFUNCTION
  • Linux 网络:PMTUD 简介