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

springboot - SpringBoot 工程启动 tk.mybatis 绑定报错?

斜成济
2024-05-04

搜索了一些类似案例未解决,问题出在哪里?

1.> 错误提示:

Failed to bind properties under 'mapper' to tk.mybatis.mapper.entity.Config:

Reason: org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type [tk.mybatis.mapper.entity.Config]

Action:

Update your application's configuration

  1. pom.xml ,重点关注 “tk.mybatis”
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>2.7.12</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>    <groupId>cn.shq</groupId>    <artifactId>springBoot_CRUD</artifactId>    <version>0.0.1-SNAPSHOT</version>    <name>springBoot_CRUD</name>    <description>springBoot_CRUD</description>    <properties>    <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>        <java.version>1.8</java.version>    </properties>    <dependencies>        <!--     thymeleaf   -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-thymeleaf</artifactId>        </dependency>        <!--      web      -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <!--        mybatis-->        <dependency>            <groupId>org.mybatis.spring.boot</groupId>            <artifactId>mybatis-spring-boot-starter</artifactId>            <version>2.2.0</version>        </dependency>        <!--      前端开发者工具  -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-devtools</artifactId>            <scope>runtime</scope>            <optional>true</optional>        </dependency>        <!--        mysql -->        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>8.0.25</version>        </dependency>        <!--       lombok插件-->        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <optional>true</optional>        </dependency>        <!--        测试-->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-test</artifactId>            <scope>test</scope>            <exclusions>                <exclusion>                    <groupId>org.junit.vintage</groupId>                    <artifactId>junit-vintage-engine</artifactId>                </exclusion>            </exclusions>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-configuration-processor</artifactId>            <optional>true</optional>        </dependency>        <!--        前端开始-->        <dependency>            <groupId>org.webjars</groupId>            <artifactId>jquery</artifactId>            <version>3.3.1</version>        </dependency>        <dependency>            <groupId>org.webjars</groupId>            <artifactId>layui</artifactId>            <version>2.5.6</version>        </dependency>        <dependency>            <groupId>org.webjars</groupId>            <artifactId>bootstrap</artifactId>            <version>4.5.2</version>        </dependency>        <dependency>            <groupId>org.webjars</groupId>            <artifactId>bootstrap-select</artifactId>            <version>1.13.17</version>        </dependency>        <dependency>            <groupId>org.webjars</groupId>            <artifactId>bootstrap-datetimepicker</artifactId>            <version>2.4.4</version>        </dependency>        <dependency>            <groupId>org.webjars</groupId>            <artifactId>bootstrap-table</artifactId>            <version>1.16.0</version>        </dependency>        <dependency>            <groupId>org.webjars</groupId>            <artifactId>momentjs</artifactId>            <version>2.24.0</version>        </dependency>        <!--  前端结束-->         <!--     lang包的增强版   -->        <dependency>            <groupId>org.apache.commons</groupId>            <artifactId>commons-lang3</artifactId>            <version>3.9</version>        </dependency>         <dependency>            <groupId>tk.mybatis</groupId>            <artifactId>mapper-spring-boot-starter</artifactId>            <version>2.1.5</version>        </dependency>        <dependency>            <groupId>com.alibaba</groupId>            <artifactId>druid</artifactId>            <version>1.1.10</version>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-jdbc</artifactId>        </dependency>       </dependencies>     <build>        <!-- 使得程序在执行过程中,能够解析到各个mapper.xml文件 。                否则target目录下没有对应的mapper文件,程序不能正常执行。  -->        <resources>            <resource>                <directory>src/main/java</directory>                <includes>                    <include>**/*.yml</include>                    <include>**/*.properties</include>                    <include>**/*.xml</include>                </includes>                <filtering>false</filtering>            </resource>            <resource>                <directory>src/main/resources</directory>                <includes>                    <include>**/*.css</include>                    <include>**/*.js</include>                    <include>**/*.html</include>                    <include>**/*.png</include>                    <include>**/*.jpg</include>                    <include>**/*.properties</include>                    <include>**/*.yml</include>                    <include>**/*.xml</include>                    <include>**/*.conf</include>                </includes>                <filtering>false</filtering>            </resource>        </resources>        <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>                <configuration>                    <excludes>                        <exclude>                            <groupId>org.projectlombok</groupId>                            <artifactId>lombok</artifactId>                        </exclude>                    </excludes>                </configuration>            </plugin>        </plugins>    </build> </project>
  1. application.properties
# \u670D\u52A1\u5668\u8BBE\u7F6E\uFF1A  \u7AEF\u53E3\u53F7\u548C\u8BBF\u95EE\u8DEF\u5F84server:  port: 8088  servlet:    context-path: /shq# \u6570\u636E\u6E90\u8BBE\u7F6Espring:  datasource:    driver-class-name: com.mysql.cj.jdbc.Driver    url: jdbc:mysql://192.168.31.226:3306/dhc_crud??serverTimezone=UTC    username: root    password: 123456  thymeleaf:    cache: false    suffix: .html  web:    resources:      static-locations: classpath:/templates/,classpath:/static/image/# \u8BA9\u63A7\u5236\u53F0\u663E\u793A\u6267\u884C\u7684SQL\u8BED\u53E5logging:  level:    cn:      shq:        mapper: debug# mybatis\u914D\u7F6Emybatis:  type-aliases-package: cn.shq.model   # \u522B\u540D  configuration:    auto-mapping-behavior: full  #\u8BBE\u7F6E\u5168\u81EA\u52A8\u6620\u5C04    use-column-label: true    # \u5217\u6807\u7B7E\u4EE3\u66FF\u5B57\u6BB5\u540D#\u8BBE\u7F6Emapper\u7684\u8DEF\u5F84  mapper-locations: classpath:cn/shq/mapper/*.xml 

共有1个答案

龚勇锐
2024-05-04

从你提供的错误信息来看,Spring Boot在尝试绑定mapper属性到tk.mybatis.mapper.entity.Config时遇到了问题。它找不到一个合适的转换器来将字符串转换为tk.mybatis.mapper.entity.Config类型。

在你的application.properties文件中,你似乎没有为tk.mybatismapper属性设置任何值。可能的问题是,Spring Boot试图读取这个属性,但是由于找不到它,所以尝试使用默认值,而这个默认值可能是一个字符串,而不是tk.mybatis.mapper.entity.Config类型的对象。

解决这个问题的方法可能有两种:

  1. 确保你的application.properties文件中包含tk.mybatismapper属性的正确设置。如果tk.mybatis.mapper.entity.Config类有默认的构造函数和必要的setter方法,那么你可能只需要提供一个字符串形式的配置路径。然而,由于我没有tk.mybatis.mapper.entity.Config类的具体信息,所以我无法给出具体的设置值。
  2. 如果你不需要在application.properties文件中设置tk.mybatismapper属性,你可以尝试在你的配置类中使用@ConfigurationProperties注解来忽略这个属性。例如:
@Configuration@ConfigurationProperties(ignoreUnknownFields = true)public class MybatisConfig {    // 其他属性...}

在这个例子中,ignoreUnknownFields = true会告诉Spring Boot忽略任何在application.properties文件中定义但在MybatisConfig类中不存在的属性。

以上都是基于我对你问题的理解给出的建议,由于我缺乏关于你的tk.mybatis.mapper.entity.Config类的具体信息,所以可能需要你进行一些调整。如果问题仍然存在,我建议你查看tk.mybatis的文档,看看是否有关于如何正确设置mapper属性的信息。

 类似资料:
  • 我的Spring Boot应用程序有一个文件application.yml,它不愿意运行。 根据日志,元素[simulator.geo.b12,simulator.geo.b13,simulator.geo.b21,simulator.geo.c6,simulator.geo.host]未绑定的原因。然而,这个属性是在application.yml设置的,编译器甚至会返回它的值。 如果有人能帮我解

  • 使用spring-boot时,一切工作都很好。尽管如此,在spring-boot中已删除了注释和。我试图将代码重构为新版本,但我做不到。对于以下测试,我的应用程序在测试之前没有启动,http://localhost:8080返回404: 如何重构测试以使其在Spring-Boot1.5中工作?

  • 我使用下面的dockerfile生成一个图像调用userservice 然后我使用以下命令运行容器 所以我去检查编译的字节码版本,确实是52,我不知道为什么这个错误还是报告

  • 本文向大家介绍Springboot教程之如何设置springboot热重启,包括了Springboot教程之如何设置springboot热重启的使用技巧和注意事项,需要的朋友参考一下 SpringBoot热重启步骤 1.打开点击pom.xml配置文件 2.找到配置文件节点 3.在节点中插入以下代码 4.点击编辑器菜单栏view ->Tool Windows->Maven Projects 中查看是

  • 我知道有好几篇关于这件事的帖子,但没有任何具体的帮助。我有一个Java Springboot rest API,它在localhost上运行良好,但在尝试作为jar运行时会抛出一个错误。 这是我的主要课程: 这是我尝试运行jar文件时的输出: 我的pom。xml是我所有修复这一问题的尝试中的一个烂摊子,但它是: 感谢任何帮助。谢谢你看一看!

  • 我的项目是SpringBoot(版本2.0.9.RELEASE)整合spring-boot-starter-quartz。代码完全来自于这篇博客代码来源,我在启动项目后,报错: 这个问题网上也有相关的问题,但是他们的答案我一直尝试不成功。 大部分回答都是AdaptableJobFactory的里面用的反射有问题,说要重写AdaptableJobFactory(https://blog.csdn.n