Java EE(Spring+Spring MVC+MyBatis)从入门到精通企业级应用开发教程——1初识MyBatis框架

发布于:2025-05-10 ⋅ 阅读:(17) ⋅ 点赞:(0)

1、MyBatis工作原理

MyBatis操作数据库流程分为8个步骤,具体介绍如下:

(1)MyBatis读取核心配置文件mybatis-config.xml

mybatis-config.xml核心配置文件主要配置了MyBatis的运行环境等信息。

(2)加载映射文件Mapper.xml

Mapper.xml文件即SQL映射文件,该文件配置操作数据库的SQL语句,需要在mybatis-config.xml中加载才能执行。mybatis-config.xml可以加载多个映射文件,每个映射文件对应数据库中的一张表。

(3)构造会话工厂

通过MyBatis的环境等配置信息构建会话工厂SqlSessionFactory,用于创建SqlSession。

(4)创建会话对象

由会话工厂SqlSessionFactory创建SqlSession对象,该对象中包含了执行SQL语句的所有方法。

(5)创建执行器

会话对象本身不能直接操作数据库,MyBatis底层定义了一个Executor接口用于操作数据库,执行器会根据SqlSession传递的参数动态的生成需要执行的SQL语句,同时负责查询缓存地维护。

(6)封装SQL信息

  SqlSession内部通过执行器Executor操作数据库,执行器将待处理的SQL信息封装到MappedStatement对象中,MappedStatement对象中存储了要映射的SQL语句的id、参数等。Mapper.xml文件中一个SQL语句对应一个MappedStatement对象,SQL语句的id即是MappedStatement的id。Executor执行器会在执行SQL语句之前,通过MappedStatement对象将输入的参数映射到SQL语句中。

(7)操作数据库

根据动态生成的SQL操作数据库。

(8)输出结果映射

执行SQL语句之后,通过MappedStatement对象将输出结果映射至Java对象中

 

2、初识框架

2.1框架概述

  软件框架是一种通用的、可复用的软件环境,它提供特定的功能,助力软件应用、产品和解决方案的开发工作。软件框架包含支撑程序、编译器、代码、库、工具集和API,它把这些部件汇集在一起,以支持项目或系统的开发。(“框架”Framework一词最早出现在建筑领域,是指建造房屋前期所构建的建筑骨架。)

2.2框架优势(相比于JSP+Servlet技术进行软件开发,使用框架有以下优势)

(1)提升开发效率

(2)提高代码规范性和可维护性

(3)提高软件性能

2.3当前主流框架

Spring框架、Spring MVC框架、MyBatis框架、Spring Boot框架、Spring Cloud框架

(1,Spring框架

Spring框架是一个开源框架,是为了解决企业应用程序开发复杂这一难题而创建的,其主要优势之一就是分层架构。同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架组合在一起建立一个连贯的体系。Spring提供了更完美的开发环境,可以为POJO(Plain Ordinary Java Object,普通Java对象)提供企业级的服务。

(2,Spring MVC框架

Spring MVC是Spring提供的一个基于MVC设计模式的Web开发框架,是Spring家族中应用于Web应用的一个模块,可以将它理解为Servlet。在MVC模式中,Spring MVC作为控制器(Controller)用于实现模型与视图的数据交互,是结构非常清晰的JSP Model2实现,即典型的MVC框架。

Spring MVC框架采用松耦合、可插拔的组合结构,具有出色的可配置性,与其他的MVC框架相比,Spring MVC具有更强的扩展性和灵活性。此外,Spring MVC本身就是Spring家族的一部分,可以与Spring框架无缝集成,因此,Spring MVC在互联网开发中应用得越来越广泛。

(3,MyBatis框架

MyBatis原本是Apache的一个开源项目iBatis,2010年这个项目由Apache Software Foundation迁移到了Google Code,并改名为MyBatis,2013年11月MyBatis又被迁移到GitHub。MyBatis是一个优秀的持久层框架,它可以在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM(Object Relational Mapping,对象关系映射)实现。MyBatis封装性要低于Hibernate,但它性能优越、简单易学,在互联网应用的开发中被广泛使用。

(4,Spring Boot框架

Spring Boot框架是Pivotal团队基于Spring开发的全新框架,其设计初衷是为了简化Spring的配置,使用户能够构建独立运行的程序,提高开发效率。Spring Boot框架本身并不提供Spring框架的核心特性及扩展功能,它只是用于快速、敏捷地开发新一代基于Spring框架的应用,同时它还集成了大量的第三方类库(如Jackson、JDBC、Redis等),使用户只需少量配置就能完成相应功能。

(5,Spring Cloud框架

Spring Cloud是一系列

 


网站公告

今日签到

点亮在社区的每一天
去签到