2024年Java最全七十六、MyBatis框架入门,对于java开发岗位的理解面试

写在最后

还有一份JAVA核心知识点整理(PDF):JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

框架解决的问题

框架要解决的最重要的一个问题是技术整合,在 J2EE 的框架中,有着各种各样的技术,不同的应用,系统使用不同的技术解决问题。需要从 J2EE 中选择不同的技术,而技术自身的复杂性,有导致更大的风险。

企业在开发软件项目时,主要目的是解决业务问题。 即要求企业负责技术本身,又要求解决业务问题。这是大多数企业不能完成的。框架把相关的技术融合在一起,企业开发可以集中在业务领域方面。 另一个方面可以提供开发的效率。

使用JDBC的缺陷

  1. 代码比较多,开发效率低

  2. 需要关注 Connection ,Statement, ResultSet 对象创建和销毁

  3. 对 ResultSet 查询的结果,需要自己封装为 List

  4. 重复的代码比较多些

  5. 业务代码和数据库的操作混在一起

使用MyBatis的优点

  1. 减轻使用 JDBC 的复杂性

  2. 不用编写重复的创建 Connetion , Statement

  3. 不用编写关闭资源代码

  4. 直接使用 java 对象,表示结果数据

  5. 让开发者专注 SQL 的处理。 其他分心 的工作由 MyBatis 代劳

MyBatis功能架构

我们把Mybatis的功能架构分为三层:

1、API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。

2、数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。

3、基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。

MyBatis框架流程

MyBatis(前身是iBatis)是一个支持普通SQL查询、存储过程以及高级映射的持久层框架。

1、注册数据库的驱动


Class.forName(“com.mysql.jdbc.Driver”)

2、创建 JDBC 中必须使用的 Connection , Statement, ResultSet 对象

3、从 xml 中获取 sql,并执行 sql 语句,把 ResultSet 结果转换 java 对象


List<Student> list = new ArrayLsit<>();

ResultSet rs = state.executeQuery(“select * from student”);

while(rs.next){

 Student student = new Student();

 student.setName(rs.getString(“name”));

 student.setAge(rs.getInt(“age”));

 list.add(student);



### 最后

手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友

![image.png](https://img-blog.csdnimg.cn/img_convert/4f4659b13a956f3c7b515d56a5d1d202.webp?x-oss-process=image/format,png)



> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618154847)**

ava面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618154847)**

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值