Spring Boot 与 MyBatis 版本兼容性

打印 上一主题 下一主题

主题 573|帖子 573|积分 1719

初接触Spring Boot,本次使用Spring Boot版本为3.4.3,mybatis的起步依赖版本为3.0.0,在启动时报错,报错代码如下
  1. org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'userMapper' defined in file
复制代码
 (一)解决方法

1.将 mybatis的起步依赖mybatis-spring-boot-starter版本升级为3.0.3

  1.   <dependency>
  2.     <groupId>org.mybatis.spring.boot</groupId>
  3.     <artifactId>mybatis-spring-boot-starter</artifactId>
  4.     <version>3.0.3</version>
  5.   </dependency>
复制代码
2.重新加载Maven项目


 (二)MyBatis的理解

1.MyBatis是什么?

MyBatis 是一款优秀的持久层框架,它通过对象关系映射(ORM)技能,将数据库表与 Java 对象举行映射。它答应开辟者手动编写 SQL 语句,同时主动处理 SQL 的实行和效果集的映射。MyBatis 属于半主动化 ORM 框架,由于它需要开辟者编写 SQL,但会主动完成对象与数据库的映射。
2.MyBatis的作用

(1)简化数据库操作

MyBatis 免除了几乎全部的 JDBC 代码,包罗手动设置参数和获取效果集的工作。通过简单的 XML 或注解配置,可以将 Java 方法与 SQL 语句绑定,从而实现数据库的增删改查操作。
(2)对象关系映射(ORM)

MyBatis 提供了对象与数据库表之间的映射功能,可以将数据库中的记载主动封装成 Java 对象,或者将 Java 对象的数据存储到数据库中。
(3)动态 SQL

MyBatis 支持动态 SQL,可以根据条件动态生成 SQL 查询语句,这使得 SQL 更加机动。
(4)缓存机制

MyBatis 提供了一级缓存和二级缓存,能够有效提高查询性能。
(5)事务管理

MyBatis 提供了事务管理机制,支持声明式和编程式事务,确保数据库操作的一致性。
3. MyBatis 在 Spring Boot 中的优势



  • 机动性:开辟者可以手动编写 SQL,充分发挥数据库的性能优化能力。
  • 易学易用:相比 Hibernate 等全主动 ORM 框架,MyBatis 更加简便,容易上手。
  • 与 Spring 集成:MyBatis 与 Spring Boot 集成后,可以利用 Spring 的事务管理和依赖注入功能。
4. MyBatis 的核心组件

在 Spring Boot 中,MyBatis 的核心组件包罗:


  • SqlSessionFactory:全局单例,用于创建 SqlSession。
  • SqlSession:线程非安全的会话对象,用于实行 SQL 和获取映射器。
  • MapperProxy:动态代理对象,将接口方法调用转换为 SQL 实行。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表