首页 > 其他分享 >MyBatis-奇怪的错误

MyBatis-奇怪的错误

时间:2023-10-11 16:00:46浏览次数:33  
标签:xml resourceAsStream 配置文件 错误 factory static MyBatis 报错 奇怪

首先我的工具类

SqlSessionFactionUtil.java
用来创建sqlSessionFactory
public class SqlSessionFactionUtil {
static InputStream resourceAsStream = null;
    static{
        //1.通过输入流获取全局配置文件
        try {
            resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    public static SqlSessionFactory getSqlSessionFactory(){
        //2.加载全局配置文件后创建工厂类
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        return factory;
    }
}

然后查了一下全部用户,第一次不报错,第二次报错org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 文件提前结束。

重启服务器也是第一次不报错,第二次报错。

然后想到在service层代码中加了个sqlSession.close()。再查直接报错 org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 文件提前结束。

网上找了很多相关的错误原因没找到。

改了一下工具类的代码:

public class SqlSessionFactionUtil {
    static SqlSessionFactory factory;
    static {
        //1.通过输入流获取全局配置文件
        try {
            InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
            factory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    public static SqlSessionFactory getSqlSessionFactory(){
        return factory;
    }

}

不再报错。

目前怀疑是第二次再获取sqlSessionFactory时 配置文件读取的问题。

 

标签:xml,resourceAsStream,配置文件,错误,factory,static,MyBatis,报错,奇怪
From: https://www.cnblogs.com/giaogiaoyang/p/17757397.html

相关文章

  • 问题:出现404错误页面的原因
    404错误原因:服务器找不到请求的网页。可能的原因有:1.管理员将原始的网页数据更改,导致网页失效。2.上传到网页的文件目录或文件名称被更改,导致原网页失效。3.上传到网页的文件被移动或被删除也可能导致原链接失效。4.输入的网址有错误,不能连接到所需的文件。......
  • TypeError: 'dict' object is not callable 错误
     做实例的时候报错TypeError:'dict'objectisnotcallable感觉应该是因为我将实例都放在了一个程序中,在4.py上面有太多book了,在上面已经调用了所以我放进另一个程序就可以实现了 ......
  • struts2 alert 错误消息
    <s:iftest="hasFieldErrors()"><s:iteratorvalue="fieldErrors"><s:iteratorvalue="value"><scriptlanguage="JavaScript">alert('<s:property/>');</script>......
  • springboot整合mybatis中使用分页插件 getTotal为0的原因(本人出现的问题)
      本人将实现分页插件---pagehelper.startpage()放到 ---page<Employee>这条语句的前面就获得到了total的值 ......
  • mybatis
    一对多多对一框架练习代码如下: 导入的包: 配置文件和主配置文件  实体类:classesstudentteacher   导入的工具包,方便mbatis连接 在dao包下的映射文件和接口classes:  student:   teacher:  最后的测试类: 完成! ......
  • winget 0x8051100f错误
    解决WinGet0x8051100f错误接手了公司旧的电脑,安装的是精简版的Windows10系统,今天在准备使用winget的时候发现并没有安装。然而这台电脑精简的有点过分了,连MicrosoftStore都没有,装好WinGet之后发现执行的时候居然还会报错0x8a15000f错误。解决方案遇到错误0x8a15000f时,按照以......
  • MyBatis-XML映射文件
    1、Mybatis中#取参和$取参的区别  $会直接替换,而#会使用?先进行预处理 2、ResultMap的作用  实体类属性和数据库列名不匹配的时候(比如,数据库采用经典命名法,java使用驼峰命名法的时候)<resultMapid="basicMap"type="cn.wjcoder.domain.Employee"><!--......
  • channel 通道错误的使用例子
    1.向已经关闭的通道发送值,引起panic错误packagemainimport"fmt"funcrecv(cchanint){ ret:=<-c fmt.Println("接收成功",ret)}funcmain(){ ch:=make(chanint) gorecv(ch)//启用goroutine从通道接收值 ch<-10 close(ch) ch<-9 fmt.Prin......
  • mybatis的级联查询
    级联是在resultMap标签中配置。级联不是必须的,级联的好处是获取关联数据十分便捷,但是级联过多会增加系统的复杂度,同事降低系统的性能,次增彼减,所以记录超过3层时,就不要考虑使用级联了,因为这样会造成多个对象的关联,导致系统的耦合、负载和难以维护。MyBatis中的级联分2种:1.......
  • Grafana导入 json 文件的 dashboard 错误 Templating Failed to upgrade legacy queri
    前言编辑或者修改后的dashboard保存为json文件,在其他环境导入使用,报错FailedtoupgradelegacyqueriesDatasourcexxxxxxxwasnotfound,无法显示监控数据问题原因为:从其他grafana导出的dashboardjson文件中,数据源是写的固定的,如果当前要显示的监控数据的数据源名称......