MyBatis 和 Spring 核心知识点总结

MyBatis

1. MyBatis 的作用

MyBatis 是一款基于 Java 的持久层框架,它通过 SQL 映射文件配置和 Java 代码的注解来将数据源与 Java 对象映射起来,从而实现对关系型数据库的访问。

2. MyBatis 的优点

  • 灵活性高:MyBatis 支持使用 SQL 映射文件和 Java 注解两种方式进行配置,同时支持动态 SQL、存储过程等高级功能,可以灵活满足不同的需求。
  • 易于学习和使用:MyBatis 提供了丰富的文档和示例,其 API 也非常简单易用。
  • 执行效率高:MyBatis 的执行效率高,且能够通过缓存机制进一步提高效率。

3. MyBatis 的核心组件

  • SqlSessionFactory:MyBatis 的入口,用于创建 SqlSession 实例。
  • SqlSession:MyBatis 的核心,用于执行 SQL 语句、获取映射器(Mapper)等操作。
  • Mapper:MyBatis 中用于定义 SQL 映射的接口,可以通过注解或 XML 文件进行配置。
  • Configuration:MyBatis 的全局配置,用于管理 MyBatis 的各项配置项。

4. MyBatis 的执行流程

  1. 首先通过 SqlSessionFactory 创建 SqlSession 实例。
  2. 然后通过 SqlSession 获取 Mapper 接口的实现类。
  3. 最后通过 Mapper 接口调用 SQL 语句执行相应的操作。

5. MyBatis 的注解方式配置

MyBatis 支持使用注解的方式进行 SQL 映射配置,其中比较常用的注解包括:

  • @Select:用于配置查询语句。
  • @Insert:用于配置插入语句。
  • @Update:用于配置更新语句。
  • @Delete:用于配置删除语句。

Spring

1. Spring 的作用

Spring 是一个开源的 Java 开发框架,主要用于构建企业级应用程序和服务。Spring 框架提供了许多功能和特性,例如依赖注入、面向切面编程、事务管理等,可以帮助开发者快速构建高质量的应用程序。

2. Spring 的优点

4. Spring 的依赖注入

Spring 的依赖注入(Dependency Injection,简称 DI)是 Spring 框架的核心特性之一,其主要作用是将对象之间的依赖关系从代码中分离出来,交给 Spring 容器来管理。

在 Spring 中,通过配置文件或注解的方式告诉 Spring 容器哪些对象需要被创建以及它们之间的依赖关系,Spring 容器会自动根据配置信息创建对象并将它们注入到其他对象中,从而实现对象之间的松耦合。

5. Spring 的事务管理

Spring 的事务管理是 Spring 框架的另一个核心特性,它可以帮助开发者管理数据库事务,避免出现脏数据等问题。

Spring 的事务管理支持声明式事务和编程式事务两种方式:

6. Spring MVC 框架

Spring MVC 是 Spring 框架中的一个模块,主要用于构建 Web 应用程序。Spring MVC 框架提供了 Model、View、Controller 三层结构,同时还提供了数据校验、文件上传、拦截器等功能。

Spring MVC 框架的执行流程如下:

  • 松耦合:Spring 使用依赖注入的方式管理对象之间的关系,可以让应用程序中的各个组件之间保持松耦合的状态。
  • 模块化:Spring 框架是由多个模块组成的,可以根据需要选择使用相应的模块。
  • 便于测试:Spring 框架可以让开发者轻松进行单元测试和集成测试,提高了测试效率。
  • 面向切面编程(AOP):Spring 提供了 AOP 功能,可以通过 AOP 对程序进行横向切割,实现一些通用的功能,如日志记录、事务管理等。
  • 事务管理:Spring 提供了事务管理的功能,可以方便地管理事务,支持声明式和编程式两种方式。
  • MVC 框架:Spring MVC 是 Spring 框架中的一个模块,可以帮助开发者快速构建 Web 应用程序。
  • 声明式事务:通过在配置文件或注解中声明事务的属性,告诉 Spring 如何管理事务。
  • 编程式事务:通过编写代码来管理事务,可以更加灵活,但也更加繁琐。
  • 客户端发送请求到 DispatcherServlet。
  • DispatcherServlet 根据请求路径找到对应的 HandlerMapping,确定处理该请求的 Controller。
  • HandlerAdapter 调用 Controller 处理请求,返回 ModelAndView 对象。
  • ViewResolver 根据 ModelAndView 中的 ViewName 找到对应的视图,生成视图并返回给客户端。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值