Mybatis
今天在敲代码的时候,出现了一个bug
访问videolist出现了这样一个bug
网页页面报错的意思:
Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Mon Apr 08 00:11:27 CST 2024 There was an unexpected error (type=Internal Server Error, status=500).
意思:
白标错误页面 该应用程序没有针对/error的显式映射,因此您可以将其视为一种后备。 2024年4月8日星期一00:11:27 CST 出现意外错误(类型=内部服务器错误,状态=500)
后端项目错误:
[Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): zero.file.videoProject.dao.VideoDao.getVideoList] with root cause
意思:
【请求处理失败;嵌套异常为org . Apache . ibatis . binding . binding异常:无效的绑定语句(未找到):zero . file . video project . Dao . video Dao . get video list】并带有根本原因 org . Apache . ibatis . binding . binding异常:无效的绑定语句(未找到):zero . file . video project . Dao . video Dao . get video list
这里导致错误的原因可能是Mybatis配置导致的,看Mybatis的资料:
第一步:连接池信息
基础篇-25-SpringBoot整合MyBatis_哔哩哔哩_bilibili
这里整合Mybatis的资料
yml的配置文件:
这里解决问题的思路是:
将Mapper接口放到同一个文件,名相同,包的路径一定要相同,不相同就报了错
这里的UserMapper就是mapper里的名字
创建一个包,要用/,这里在创建的时候不能用.否则会认为你创建.xxx.xx的包
创建Mapper用/分割创建包
检验方式是否正确可以看target是否在同一个目录下
当包路径相同和Mapper映射文件名也相同了,问题就解决了
接口的数据可以正常看到了
application的配置文件
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/zero?serverTimezone=UTC username: xxxx password: xxxx mvc: static-path-pattern: /static/** web: resources: static-locations: classpath:static/ server: port: 9090 # servlet: # context-path: /ocr #ocr: # img-path: /data/paddle_ocr/img/%s # paddle-ocr-url: http://127.0.0.1:8888/ocr,http://127.0.0.1:8889/ocr # resources: # static-locations=classpath:/static/ mybatis: mapper-locations: classpath:/mappers/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl type-aliases-package: zero.file.videoProject.mybatis.entity #????????