Mybatis

Mybatis

概述:

  1. 它是一款优秀的持久层框架,它支持定制化SQl,存储过程以及高级映射。

  2. 它避免了几乎所有的JDBC代码手动设置参数以及获取结果集。

  3. 可以使用简单的XML或注解来配置和映射原生信息。

  4. 将基本的JDBC常用接口封装,对外提供操作即可。

传统的JDBC编程的问题:

传统的编程步骤:
  1. 加载数据库驱动
  2. 创建并获取数据库链接
  3. 创建statement对象
  4. 拼写sql语句
  5. 执行sql语句
  6. 对sql执行结果进行解析处理
  7. 释放资源

JDBC编程问题

  1. 数据库连接的创建,释放频繁造成系统资源浪费,如果使用数据库连接池可解决该问题。

  2. sql语句编写在Java代码中,造成代码不易维护的问题。当sql需要改动是需要修改源代码。

  3. 对结果集解析存在硬编码,SQL 语句变化导致解析代码变化,系统不易维护

MyBatis 架构:

MyBatis 是优秀的持久层框架,它能够解决 JDBC 编程中存在的问题。接下来先了解 MyBatis 的架构。

在这里插入图片描述

  1. SqlMapConfig.xml,此文件作为 mybatis 的全局配置文件,配置了 mybatis的运行环境等信息。mapper.xml 文件即 sql 映射文件,文件中配置了操作数据库的 sql 语句。此文件需要在 SqlMapConfig.xml 中加载。
  2. 通过 mybatis 环境等配置信息构造 SqlSessionFactory,即会话工厂。
  3. 由会话工厂创建 sqlSession,即会话,操作数据库需要通过 sqlSession 进行。
  4. mybatis 底层自定义了 Executor 执行器接口来操作数据库,Executor 接口有两个实现,一个是基本执行器、一个是缓存执行器。
  5. Mapped Statement 也是 mybatis 一个底层封装对象,它包装了 mybatis配置信息及sql映射信息等。mapper.xml文件中一个sql对应一个MappedStatement 对象,sql 的 id 即是 Mapped statement 的 id。
  6. Mapped Statement 对 sql 执行输入参数进行定义,包括 HashMap、基本类型、PPOJO,Executor 通过 Mapped Statement 在执行 sql 前将输入的java 对象映射至 sql 中,输入参数映射就是 jdbc 编程中对preparedStatement 设置参数。
    入参数映射就是 jdbc 编程中对preparedStatement 设置参数。
  7. Mapped Statement 对 sql 执行输出结果进行定义,包括 HashMap、基本类型、PPOJO,Executor 通过 Mapped Statement 在执行 sql 后将输出结果映射至 java 对象中,输出结果映射过程相当于 jdbc 编程中对结果的解析处理过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值