MyBatis框架
框架概述
软件开发常用结构
三层架构
三层架构包含三层:
界面层、业务逻辑层、数据访问层
三层的职责
- 界面层(表示层、视图层):主要功能是接受用户数据,例如jsp、html、servlet等,和用户打交道的
- 业务逻辑层(Service):接受界面层传过来的数据,检查数据,计算业务逻辑,调用数据访问层获取数据
- 数据访问层(持久层):和数据库打交道,完成对数据库的增删改查的操作(DAO层)
三层对应的包
界面层:controller(servlet)
业务逻辑层:service包(XXXService类)
数据访问层:DAO包(XXDAO类)
三层中类的交互
用户使用界面层–> 业务逻辑层–> 数据访问层(持久层)–>数据库
三层对应的处理框架
界面层----servlet—sprIngMVC(框架) 代替Servlet来做界面层的功能
业务逻辑层—service类–spring(框架) 管理我们的Servlice
数据访问层—DAO类–MyBatis(框架)
框架
框架是一个舞台,一个模板
模板:
- 规定了一些条款,内容
- 加入自己的东西
框架是一个模板
- 框架中定义好了一些功能,这些功能是可用的.
- 可以加入项目中自己的功能,这些功能可以利用框架中写好的功能
框架是一个软件,一个半成品,他定义好了一些基础功能,需要加入你的功能加以完善.
基础功能是可复用的,可升级的.
框架的特点:
- 框架一般不是全能的,不能做所有事情.
- 框架是针对某一个领域有效.特定在有一方面.比如MyBatis做数据库操作强,但是不能做其他的
- 框架是一个软件
JDBC
- 代码较多,开发效率低
- 需要关注对象connection statement resultset对象的创建与销毁
- 对resultset查询的结果需要自己封装为List
- 重复的代码较多
- 业务代码与数据库操作混在一起
MyBatis框架概述
早期叫iBatis,代码在GitHub.iBatis提供的持久层框架包括SQL Maps和Data Access Objedts(DAOs)
mybatise是MyBatis SQL Mapper Framework for Java(SQL 映射框架)
-
SQL Mapper:
可以吧数据库表中的一行数据,映射为一个java对象
一行数据可以看成是java的一个对象.操作这个对象,就相当于操作表中的数据
-
Data Access Objedts(DAOs):数据访问
对数据库进行增删改查
MyBatis提供了哪些功能呢?
- 提供了创建 connection statement resultset 的能力,不用开发人员创建这些对象
- 提供了执行sql语句的能力,不用你执行SQL
- 提供了循环SQL,把SQL的结果转为Java对象,List集合的能力
- 提供了关闭资源的能力,不用你关闭 connection statement resultset
开发人员要做的是: 提供SQL语句
最后是 : 开发人员提供SQL语句–MyBatis处理SQL–开发人员得到List集合或者Java对象(表中的数据)
总结:MyBatis是一个SQL映射框架,提供的数据库的操作能力,增强jdbc,使用MyBatis让开发人员集中精神写SQL就可以了,不必关闭connection statement resultset 的创建,销毁和SQL执行.