常用框架的理解

参考:https://blog.csdn.net/qq_36908783/article/details/105816074

参考:https://baijiahao.baidu.com/s?id=1772918088589532172&wfr=spider&for=pc

一、Druid和MyBatis的区别:

   Druid和MyBatis都是Java的开源框架,但是它们的使用场景不同。Druid是一个轻量级的数据库连接池,适用于大多数的中小型项目,主要负责管理数据库连接,提高数据库访问效率。而MyBatis则是一个ORM框架,主要用于操作关系型数据库,它可以将SQL语句和Java代码分离开来,使得Java程序员可以更加专注于业务逻辑的实现。在使用上,Druid需要手动配置,而MyBatis则需要在配置文件中进行配置。此外,Druid还提供了监控功能,可以实时查看数据库连接池和SQL查询的工作情况。

 
数据库驱动:数据库驱动是一个软件组件,针对不同的数据库有不同的数据库驱动,比如MySQL驱动、Oracle驱动等,数据库驱动使Java应用程序能够与数据库进行通信。它负责建立与数据库服务器的连接、发送SQL查询,并处理服务器返回的结果。该驱动在Java应用程序与数据库之间充当桥梁,使它们能够无缝交互。如果没有数据库驱动,Java应用程序将无法与MySQL/Oracle等数据库进行交互。我们常使用的数据库有Oracle、MySQL、SQL Server、DB2、PostgreSQL、SQLite等,最常使用的是Oracle和MySQL,这里就以Oracle和MySQL为例。
 

MySQL常使用5.x 和8.x两个版本,使用的MySQL驱动有 mysql-connector-java-5.1.47.jar、mysql-connector-java-8.0.22.jar。

<!-- mysql 驱动 -->

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>8.0.22</version>

</dependency>

Oracle常使用12.2.x版本,ojdbc8-12.2.0.1.jar。

<!--oracle驱动-->

<dependency>

<groupId>com.oracle.database.jdbc</groupId>

<artifactId>ojdbc8</artifactId>

<version>12.2.0.1</version>

</dependency>

Druid :Druid是阿里巴巴开源的JDBC(Java数据库连接)组件库。它提供高性能、可靠、高效的连接池解决方案,用于Java应用程序中的数据库连接管理。连接池帮助管理和重用数据库连接,减少为每个请求建立新连接的开销。除了连接池功能外,Druid还包括SQL解析、日志记录和监控等特性,因此在Java应用程序中管理数据库连接时,Druid是一个受欢迎的选择。 
 
MyBatis:MyBatis是一个流行的Java持久层框架,简化了与数据库的交互。它提供了将Java对象映射到SQL语句及其反向操作的方法,从而减少了数据库访问所需的样板代码。MyBatis允许开发人员在XML或注解中编写SQL查询,并处理将结果映射到Java对象的工作。它被视为一个对象关系映射(ORM)工具,并且可以与多种数据库系统一起使用。
 
总结:mysql驱动是使Java应用程序能够与MySQL数据库进行通信的关键组件,durid是一个数据库连接池库,提供高性能的连接管理功能,而mybatis是一个持久层框架,简化了Java应用程序与数据库之间的交互,可以通过XML或注解编写SQL查询。这三者共同组成了一个强大的栈,使Java开发人员能够高效地与MySQL数据库进行交互,并减少样板代码的编写。
 

数据库驱动、Druid、MyBatis三者之间的关系:

借用别人说的一个例子:把 MyBatis 比作是警察,Druid 比作武器库(库里存放了很多枪)),数据库驱动比作武器制造商(他们制造抢给武器库);当平民百姓遇到危险需要寻求帮助时,第一时间寻找警察,警察从武器库拿枪干活。也就是先访问 MyBatis,MyBatis 与 Druid通信,Druid 与 数据库驱动 通信,数据库驱动 与底层数据库交互。

 
 

二、Spring MVC与Jsp/Servlet比较
1、传统的 Jsp/Servlet 技术体系弊端
Servlet: 是用java编写的服务端应用程序。

作用:主要用于交互式的浏览和修改数据,生成web内容,这个过程为:客户端发送请求到服务器 -> 服务器将请求信息发送至Servlet–>Servlet生成相应内容并将其传给服务器-> 服务器将响应返回给客户端。
在传统的 Jsp/Servlet 技术体系中,如果要开发接口,一个接口对应一个
Servlet,每个请求都去在web.xml中配置一个servlet节点。会导致我们开发出许多 Servlet,使用 SpringMVC可以有效的简化这一步骤。
2、Spring Web MVC 特点
Spring Web MVC 是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架,即使用了 MVC 架构模式的思想,将 web 层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringWeb MVC 也是要简化我们日常 Web 开发的。
Spring Web MVC 也是服务到工作者模式的实现,但进行可优化。前端控制器是DispatcherServlet;应用控制器可以拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View
Resolver)进行视图管理;页面控制器/动作/处理器为 Controller 接口(仅包含 ModelAndView handleRequest(request, response) 方法,也有人称作 Handler)的实现(也可以是任何的 POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。

 
posted @ 2023-09-18 18:31  苦逼yw  阅读(19)  评论(0编辑  收藏  举报