当前位置: 首页 > 知识库问答 >
问题:

(重新)从文件系统扫描Mybatis映射器

庄瀚玥
2023-03-14
  1. 映射器XML文件可以从类路径外部(即从文件系统位置)读取
  2. 映射器XML文件可以“重新扫描”自应用程序启动以来对已定义查询所做的更改

谢谢你的任何建议

共有1个答案

钱京
2023-03-14

它看起来(1)可以沿着以下路线实现:

 @Bean   
    public SqlSessionFactory sqlSessionFactory() throws Exception 
    {     
        SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setMapperLocations(new Resource[]{resource1, resource2});
        sessionFactory.setDataSource(getDataSource());    
        return sessionFactory.getObject();   
    } 

就(2)而言,这似乎是MyBatis中一个非常想要但不可用的特性。但是,一个解决办法是完全重新创建SqlSession并替换旧的SQLSession--这可以有效地提取对XML映射器所做的任何更改。

 SqlSession sqlSession = applicationConfiguration.createSqlSessionFactory().openSession();
 sqlSession.selectList(...)

希望这能帮到别人。

 类似资料:
  • 本文阐述Apache如何根据URL地址定位到文件在文件系统中的位置。 相关模块和指令 相关模块 相关指令 mod_alias mod_proxy mod_rewrite mod_userdir mod_speling mod_vhost_alias Alias AliasMatch CheckSpelling DocumentRoot ErrorDocument Options ProxyPass

  • 我必须创建一个java类,我可以从标准控制台读取一些命令。这就像模拟网格中的运动。我很难完全创建我想要的东西。假设我有这样的命令: 从X、Y、方向开始 步子 “X”和“Y”是矩阵6x6的坐标。“方向”可以是“上”、“下”、“左”、“右”。如果我写“步骤”,我会做一步。 程序应该丢弃STEP命令,直到有效的START命令被执行。之后,我可以使用STEP或另一个有效的START命令,它将使用新的坐标将

  • 把这部分的log摘取出来. 以org.nutz.resource下的log为准 2015-03-30 10:49:49,383 org.nutz.resource.Scans.<init>(Scans.java:484) DEBUG - Locations for Scans: [JarResourceLocation [jarPath=D:\nutzbook\apache-tomcat-8.0.

  • 主要内容:DocumentRoot,DocumentRoot之外的文件,用户目录,URL重定向,反向代理,重写引擎,文件未找到本文将介绍Apache HTTP Server如何使用请求的URL来确定从中提供文件的文件系统位置。 DocumentRoot 在决定为给定请求提供什么文件时,httpd的默认行为是获取请求的URL-Path(主机名和端口后面的URL部分),并将其添加到配置文件中指定的的末尾。因此,下面的文件和目录构成了可从Web上看到的基本文档树。 例如,如果设置为时,则对的请求会将文

  • 主要内容:XML实现映射器,注解实现映射器,MyBatis 映射器的主要元素映射器是 MyBatis 中最重要的文件,文件中包含一组 SQL 语句(例如查询、添加、删除、修改),这些语句称为映射语句或映射 SQL 语句。 映射器由 Java 接口和 XML 文件(或注解)共同组成,它的作用如下。 定义参数类型 配置缓存 提供 SQL 语句和动态 SQL 定义查询结果和 POJO 的映射关系 映射器有以下两种实现方式。 通过 XML 文件方式实现,比如我们在 mybatis

  • 本文向大家介绍Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?相关面试题,主要包含被问及Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?时的应答技巧和注意事项,需要的朋友参考一下 不同的 Xml 映射文件,如果配置了 namespace,那么 id 可以重复;如果没有配置 namespace,那么 id 不能重复; 原因就