MyBatis 框架概述(1)


1.MyBatis 框架

1.1概述:

MyBatis本是本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 2013年11月迁移到Github。
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

传统JDBC图解

                                        (传统写JDBC的过程)         

JDBC的操作数据库的代码

// 注册驱动
   Class.forName=("com.xiyou.jdbc.Driver");
   //获取连接对象
   connection = DriverManager.getConnection("jdbc.mysql://localhost:3306/test?useUnicode = true&characterEncoding=utf8","root","root");
   //编写sql语句
   String sql = "select * from user where name = ?"
   //预编译
   PreparedStatement s= connecion.prepareStatement(sql);
   //设置参数
   statement.setSting(1,username);
   //执行sql 封装结果
   ResultSet resultSet = statement.executeQuery();

虽然传统JDBC也可以解决我们操作数据库的需求,但是它的功能简单并且耦合度高,如果我们在项目上线后修改某条sql语句,就需要去修改Java源码,并对项目进行重新的打包部署等一系列工作,操作起来相当的繁琐。

这里我们还需要介绍一个大名鼎鼎的全自动映射ORM框架:Hibernate
ORM: Object Relation Mapping 对象关系映射,简单说就是把数据库表和实体类的属性对应起来,让我们可以操作实体类就可以实现操作数据库表。

(Hibernate框架)
该框架的设计宗旨就是为了消除SQL,它对传统的JDBC进行封装,并且灵活的将SQL语句交给了程序员来完成,这样就解决了Hibernate框架后期对SQL无法优化的缺点。
MyBatis半自动框架
在这里插入图片描述

2.为什么使用MyBatis

JDBC:

  1. SQL写在Java代码中,耦合度提高
  2. 实际开发中SQL会经常被更新,维护不易

**Hibernate **

  1. 长难复杂的SQL,对Hibernate而言处理也不容易
  2. 内部自动产生的SQL,不易做特殊优化
  3. 基于全映射的全自动框架,进行字段部分映射时比较困难,导致数据库性能下降

JPA

  1. JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中

MyBatis

  1. SQL和Java编码分离,功能划分清晰,一个专注业务,一个专注数据。
  2. 核心SQL可以自己编写,优化比较方便

所有使用MyBatis较为方便

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安宁#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值