条条|MyBatis学习笔记1——初识MyBatis

1.1 常用结构

1.1.1 三层架构

学习MyBatis前我们先了解以下web开发的三层架构

  • 界面层:和用户打交道,接收用户请求参数,显示处理结果;对应controller包(servlet),对应springmvc框架
  • 业务逻辑层:接收页面层传递的数据,处理逻辑,调用数据库并获取数据;对应service包(XXXService类),对应spring框架
  • 数据访问层(也叫持久层):负责访问数据库,对数据进行增删改查等等操作;对应dao包(XXXDao类),对应mybatis框架

1.1.2 框架

可以把框架理解成一个半成品的单车(软件),我们作为驾驶者(开发者),可以使用这个单车自带的功能,如乘坐、骑行、转向等等;当然我们也可以对单车进行加工,加入新的功能,如后视镜,车喇叭等等;要注意的是,这个单词不是全能的,它只在一个大的方面(领域)有效,我们可以骑行,可以走小道等等,但是我们不能让他开到海上,飞到天上,开到高速公路。

1.2 为什么是MyBatis?

过去我们访问数据库使用JDBC(可以回头看看JDBC的代码内容),我们可以发现使用JDBC来访问数据库有以下缺陷:

  • 代码量大,重复量大,开发效率低
  • 要关注Connection,Statement和ResultSet对象的创建和销毁
  • 对于ResultSet查询的结果需要自己封装成List
  • 业务代码和数据库的操作混在一起

困于此,MyBatis便孕育而生了

1.2.1 什么是MyBatis?

MyBatis乳名ibatis,是一个sql映射框架(SQL Mapper Framework for Java),提供操作数据库的能力,是一个打了鸡血的JDBC

MyBatis

关于MyBatis
  • sql mapper:sql映射:
    可以把数据库表中一行数据映射为一个java对象(一行数据=一个java对象),操作这个对象=操作表中数据
  • Data AccessObjects(DAOs):
    数据访问,即对数据库进行增删改查
MyBatis提供了什么功能
  1. 提供创建Connection,Satatement和ResultSet的能力,我们就不用去创建了
  2. 提供执行sql语句的能力,也无需我们去执行
  3. 提供循环sql的能力,会将sql的结果转换为java对象(List集合的能力,如下)
    while(rs.next()){
    student stu=new student();
    stu.setId(rs.getInt("id"));
    stu.setName(rs.getstring("name"));
    stu.setAge(rs.getInt("age"));
    //从数据库取出数据转为student对象,封装到List集合
    stuList.add(stu);
    
  4. 提供关闭资源(C,S,R)的能力
那我们要做什么? ——提供sql语句

整体的流程便是:
我们提供sql语句-->mybatis处理sql-->得到List集合或java对象(表中数据)

条条:该学习笔记是记录了我的学习过程,学习自动力节点c语言中文网,有不对的地方欢迎指出

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容