SpringBoot【问题 03】BindingException\MalformedInputException\Error querying database(sqlite数据库)

简介: SpringBoot【问题 03】BindingException\MalformedInputException\Error querying database(sqlite数据库)

1.类文件具有错误的版本 61.0, 应为 52.0

# JDK8+SpringBoot3.1.0
java.lang.UnsupportedClassVersionError: 
ch/qos/logback/classic/spi/LogbackServiceProvider
 has been compiled by a more recent version of the Java Runtime (class file version 55.0), 
this version of the Java Runtime only recognizes class file versions up to 52.0  
# JDK8+[SpringBoot3.0.0-SpringBoot3.0.7]
Error:(3, 47) java: 无法访问org.springframework.web.bind.annotation.RequestMapping
  错误的类文件: /E:/maven-file/org/springframework/spring-web/6.0.9/spring-web-6.0.9.jar!/org/springframework/web/bind/annotation/RequestMapping.class
    类文件具有错误的版本 61.0, 应为 52.0
    请删除该文件或确保该文件位于正确的类路径子目录中。
# JDK8+SpringBoot3.0.7 
此时能正常启动项目了【JDK8尚能饭否?】

2.BindingException

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 
[Request processing failed; 
nested exception is org.apache.ibatis.binding.BindingException:
Invalid bound statement (not found): 
com.example.demo.web.mapper.CustomMapper.test] with root cause

这个异常需要两步才能解决:

【Step.1】pom添加指定项目的资源文件的位置。

<resources>
  <resource>
    <directory>src/main/java</directory>
    <includes>
      <include>**/*.xml</include>
    </includes>
  </resource>
</resources>

【Step.2】配置文件内指定 Mapper XML 文件的位置。

mybatis-plus:
  mapper-locations: classpath*:/com/example/demo/**/mapper/xml/*.xml

IDEA插件推荐【MyBatisX】

Maper接口写好之后,可以使用插件生成对应的mapper.xml文件:

在接口上右键调用:

选择生成路径:

生成结果:

3.MalformedInputException

org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1

这个报错出现的原因是用Spring Initializr生成的配置文件使用的是当前电脑的编码方式GBK,执行时使用的是UTF-8导致的,删除全部中文也能解决问题。需要保留注释信息的话,需要将文件的编码格式调整为UTF-8

4.Error querying database

这里使用的是SQLite数据库,配置信息如下:

spring:
  datasource:
    dynamic:
      datasource:
        master:
          driver-class-name: org.sqlite.JDBC
          url: jdbc:sqlite:demo.sqlite3
          username:
          password:
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such table: student)
### The error may exist in file [E:\demo\target\classes\com\example\demo\web\mapper\xml\CustomMapper.xml]
### The error may involve com.example.demo.web.mapper.CustomMapper.test
### The error occurred while executing a query
### SQL: select id, name, age from student
### Cause: org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such table: student)] with root cause

目录
相关文章
|
19天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
38 4
SpringBoot入门(4) - 添加内存数据库H2
|
21天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
29 2
SpringBoot入门(4) - 添加内存数据库H2
|
14天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
55 13
|
8天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
24 4
|
21天前
|
存储 SQL 数据库
数据库知识:了解SQLite或其他移动端数据库的使用
【10月更文挑战第22天】本文介绍了SQLite在移动应用开发中的应用,包括其优势、如何在Android中集成SQLite、基本的数据库操作(增删改查)、并发访问和事务处理等。通过示例代码,帮助开发者更好地理解和使用SQLite。此外,还提到了其他移动端数据库的选择。
22 8
|
23天前
|
SQL Java 数据库
Spring Boot与Flyway:数据库版本控制的自动化实践
【10月更文挑战第19天】 在软件开发中,数据库的版本控制是一个至关重要的环节,它确保了数据库结构的一致性和项目的顺利迭代。Spring Boot结合Flyway提供了一种自动化的数据库版本控制解决方案,极大地简化了数据库迁移管理。本文将详细介绍如何使用Spring Boot和Flyway实现数据库版本的自动化控制。
23 2
|
11天前
|
存储 安全 Java
springboot当中ConfigurationProperties注解作用跟数据库存入有啥区别
`@ConfigurationProperties`注解和数据库存储配置信息各有优劣,适用于不同的应用场景。`@ConfigurationProperties`提供了类型安全和模块化的配置管理方式,适合静态和简单配置。而数据库存储配置信息提供了动态更新和集中管理的能力,适合需要频繁变化和集中管理的配置需求。在实际项目中,可以根据具体需求选择合适的配置管理方式,或者结合使用这两种方式,实现灵活高效的配置管理。
10 0
|
30天前
|
NoSQL 关系型数据库 MySQL
AWS Database Migration Service 助力数据库搬迁
AWS Database Migration Service 助力数据库搬迁
|
9天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
23 4
|
6天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
20 1