MyBatis框架详解—框架是什么?

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
通过本课程的学习,可以在最短的时间内学会使用持久层框架MyBatis。
软件开发常用结构
三层架构
三层架构包含的三层:
界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)
三层的职责
1. 界面层(表示层,视图层):主要功能是接受用户的数据,显示请求的处理结果。使用 web 页面和用户交互,手机 app 也就是表示层的,用户在 app 中操作,业务逻辑在服务器端处理。
2. 业务逻辑层:接收表示传递过来的数据,检查数据,计算业务逻辑,调用数据访问层获取数据。
3. 数据访问层:与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。
三层的处理请求的交互:
用户---> 界面层--->业务逻辑层--->数据访问层--->DB 数据库如图:

为什么要使用三层?
1、结构清晰、耦合度低, 各层分工明确
2、可维护性高,可扩展性高
3、有利于标准化
4、开发人员可以只关注整个结构中的其中某一层的功能实现
5、有利于各层逻辑的复用
常用框架
MyBatis 框架:
MyBatis 是一个优秀的基于 java 的持久层框架,内部封装了jdbc,开发者只需要关注sql 语句本身,而不需要处理加载驱动、创建连接、创建 statement等繁杂的过程。
mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和 statement 中sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。
采用 ORM 思想解决了实体和数据库映射的问题,对 jdbc 进行了封装,屏蔽了 jdbc api 底层访问细节,使我们不用与 jdbc api 打交道,就可以完成对数据库的持久化操作。
常见的J2EE 中开发框架:
Spring 框架:
Spring 框架为了解决软件开发的复杂性而创建的。Spring 使用的是基本的JavaBean 来完成以前非常复杂的企业级开发。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
SpringMVC 框架
SpringMVC属于SpringFrameWork 3.0版本中加入的1个模块,为SPring框架提供了构建Web应用程序的能力。现在可通过Spring框架的SpringMVC模块实现web应用开发,在Web项目中可以无缝使用Spring和SpringMVC框架。
框架是什么?
框架定义
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种认为,框架是可被应用开发者定制的应用骨架、模板。
简单的说,框架其实是半成品软件,就是一组组件,供你使用完成你自己的系统。从另一个角度来说框架一个舞台,你在舞台上做表演。在框架基础上加入你要完成的功能。
框架安全的,可复用的,不断升级的软件。
框架解决的问题
框架要解决的最重要的一个问题是技术整合,在 J2EE 的 框架中,有着各种各样的技术,不同的应用,系统使用不同的技术解决问题。需要从 J2EE 中选择不同的技术,而技术自身的复杂性,有导致更大的风险。企业在开发软件项目时,主要目的是解决业务问题。 即要求企业负责技术本身,又要求解决业务问题。这是大多数企业不能完成的。框架把相关的技术融合在一起,企业开发可以集中在业务领域方面。
另一个方面可以提供开发的效率。
JDBC 编程
使用JDBC 编程的回顾


使用JDBC 的缺陷
1. 代码比较多,开发效率低
2. 需要关注Connection ,Statement, ResultSet 对象创建和销毁
3. 对ResultSet 查询的结果,需要自己封装为List
4. 重复的代码比较多些
5. 业务代码和数据库的操作混在一起
MyBatis 框架概述
MyBatis 框架:
MyBatis 本是apache 的一个开源项目 iBatis, 2010 年这个项目由apache software foundation 迁移到了google code,并且改名为 MyBatis 。2013 年 11 月迁移到Github。
MyBatis 解决的主要问题
减轻使用JDBC 的复杂性,不用编写重复的创建Connetion , Statement ; 不用编写关闭资源代码。
直接使用java 对象,表示结果数据。让开发者专注 SQL 的处理。 其他分心的工作由MyBatis 代劳。
MyBatis 可以完成:
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);
}
4. 关闭资源
ResultSet.close() , Statement.close() , Conenection.close()
最后奉上视频教程👇,视频观看效果更佳!!走过路过别忘素质三连哦~~

