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

MyBatis无法识别映射器xml文件-绑定语句无效(找不到)

相弘和
2023-03-14

当我试图从数据库中提取数据时,会出现这种类型的错误。MyBatis无法识别我的映射器xml文件,接口映射器和xml映射器具有相同的文件名和相同的目录。但是,当我使用此批注时,它可以工作@select(“Select id,client_number,name,email,health_condition FROM client.data WHERE id=#{id}”)我不想使用@select批注,而是想使用我的映射器xml文件。有人有办法解决这个问题吗??我使用的是Gradle(最新)、Java15和SpringBoot2.4.1

null

共有1个答案

潘翰藻
2023-03-14

要在xml文件中使用映射器的声明,您应该在类路径(/src/main/resources)中声明config文件,该类路径将包含映射器的声明,例如mybatis-config.xml

   <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    
    <configuration>
        <settings>
<!--        <setting name="aggressiveLazyLoading" value="false"/>-->
<!--        <setting name="lazyLoadingEnabled" value="false"/>-->
<!--        <setting name="mapUnderscoreToCamelCase" value="true"/>-->
<!--        <setting name="logImpl" value="SLF4J"/>-->
<!--        <setting name="jdbcTypeForNull" value="NULL"/>-->
<!--        <setting name="callSettersOnNulls" value="true"/>-->
        </settings>
        <typeAliases>
            <!-- Data Transfer Objects -->
        </typeAliases>
    
        <typeHandlers>
    <!--        <typeHandler handler="org.apache.ibatis.type.LocalDateTimeTypeHandler"/>-->
        </typeHandlers>
    
        <!-- explicit inclusion of reusable elements -->
        <mappers>
            <mapper resource="yourMapper.xml" />
        </mappers>
    </configuration>

此外,您应该在SqlSessionFactory bean中为配置文件设置路径,例如:

@Bean
public SqlSessionFactory sqlSessionFactory(final DataSource dataSource) throws Exception {
    SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
    bean.setConfigLocation(new PathMatchingResourcePatternResolver().getResource("classpath:mybatis-config.xml"));   
    bean.setDataSource(dataSource);

    return bean.getObject();
}
 类似资料:
  • 我是新来的spring boot,我的问题很简单,但我找不到问题出在哪里。 我有一个基本的@GetMapping和@DeleteMapping 我正在用邮递员测试,获取请求正在工作,但删除请求不起作用。即使当我调试Spring启动应用程序时。GetMap被调用,而删除没有“反应” /called 也许信息还不够,但我甚至测试了@DeleteMapping(“/test2”)没有做任何事情,我的意思

  • 问题内容: 我创建的查询之一存在一个奇怪的“问题”。给定下一个查询: phpMyAdmin一直在引发有关没有名为“ LatestBookableTimestamp”的列的错误,即使我有一个由子查询检索的列,也就是该别名。我也尝试过使用tableprefix选择每一列。第八,这没有用。最终,我通过表别名选择了所有列,并为表指定了别名。一切都没有运气。 有人可以告诉我我在做什么错吗?我什至搜索了一些资

  • 突然之间,网络Storm对我来说不认识Javascript了。 如果我添加这样的文件: 之后我在IDE中看到的是: 如果我刷新,重新启动Webstorm,它仍然无法识别文件!网络Storm已无法使用!

  • maptask:开始刷新映射输出 2017-04-20 20:53:20,101 WARN[main]org.apache.hadoop.mapred.yarnchild:异常运行子级:java.lang.nullPointerException位于org.apache.parquet.avro.avroschemaconverter.convertField(avroschemaconverte

  • 我使用SpringBoot start构建了一个用于学习的项目 但是当我添加由mybatis生成器生成的orm文件时,它启动失败。 例如: 我已经配置了mybatis locationmapper属性和sqlSessionFactoryBean 这是我的application.properties文件:

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