MyBatis1(JDBC编程和ORM模型 MyBatis简介 实现增删改查 MyBatis生命周期)

目录

一、JDBC编程和ORM模型

1. JDBC回顾

2. JDBC的弊端 

3. ORM模型

Mybatis和hibernate 区别: 

4. mybatis 解决了jdbc 的问题

二、MyBatis简介

1. MyBatis快速开始 

1.1 导入jar包

1.2 引入 mybatis-config.xml 配置文件 

1.3 引入 Mapper 映射文件 

1.3 测试

2. 实现增删改查

1. 导入jar包  配置文件等

2. 创建 MyBatisUtil 类

3. 完成增删改查功能

4. 测试类

三、MyBatis生命周期

四、总结


一、JDBC编程和ORM模型

1. JDBC回顾

  1. 加载驱动 导入JDBC 连接数据库的 jar 包,利 用 CLASS.forName 加载驱动;
  2. 获取连接 利用DriverManager 获取 Connection,然后创建 Statement;
  3. 执行SQL语句 利用 Statement 执行 SQL 语句并结 合 ResultSet 处理结果集映射 Java 对象;
  4. 关闭资源 先开后关的顺序关闭 ResultSet, Statement,Connection 等资源。

2. JDBC的弊端 

  • 硬编码:SQL语句存在Java代码中,不能很好的分离数据库语句和 Java语句,造成代码不易维护;
  • 代码重复度高 :量的重复代码,以 ResultSet 为例,每次都需要重复解析结果集;
  • 底层技术:JDBC属于底层的技术,不支持分布式,缓存等技术,对于复杂场景的应对不好;
  • SQL参数固定:SQL语句的参数固定,使得SQL语句不灵活,无法满足多变的场景。

Jdbc的本质

JDBC是SUN公司制定的一套接口(interface)
目的:解耦合——>降低程序的耦合度,提高程序的扩展力

3. ORM模型

        ORM 模型是数据库的表和简单 Java 对象(Plain Ordinary Java Object,简称 POJO就是javabean)的映射关系模型,主要解决数据库数据和 POJO 对象的相互映射。 

  • Java对象:POJO 对象(Plain Ordinary Java Object): 简单的 Java 对象,实际就是 普通 JavaBeans。
  • 映射配置配置分为:类与数据库中表 的映射;对象与表中记录的 映射;类的属性与数据库中 表的字段的映射。
  • 数据库:按照数据结构来组织、存储 和管理数据的仓库,ORM 模型中最底层的内容。

OBject Relation Mapping 对象关系映射

对象指的是面向面向对象,关系指的是数据库中的表,

例如Java语言中的POJO类与数据库模型之间的对应关系。

常见的ORM模型

  • Hibernate Hibernate 是一个 全自动 的ORM 模 型,Hibernate 可以自动生成 SQL 语 句,自动执行
  • MyBatis MyBatis 是一款 半自动 的ORM 模型,它支持定制化SQL、存储过程以及高级映射.

Mybatis和hibernate 区别: 

  • Hibernate是全自动化ORM; Mybatis是半自动化ORM。
  • Hibernate简化dao层,不用考虑SQL语句的编写和结果映射,重点放在业务逻辑上; Mybatis需要手写SQL语句以及结果映射。
  • Hibernate是一个重量级的框架,内部生成SQL语句,反射操作太多,导致性能下降; Mybatis是一个轻量级的框架,需要自己写sql语句,有较少的反射操作。
  • Hibernate 不方便做SQL优化,遇到较复杂的SQL语句需要绕过框架实现复杂, 对多字段的结构进行部分映射困难;                                                                                        Mybatis 不仅可以做SQL优化还可以SQL与Java分离,还可以自行编写映射关系, 复杂的SQL语句Mybatis效率更高

Mybatis优势: 可以进行更细致的SQL优化;容易掌握

Hibernate优势; dao层开发比mybatis简单,mybatis需要维护SQL和结果映射 hibernate数据库移植性好

4. mybatis 解决了jdbc 的问题

  • 1.数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。                                                                                                        解决:在SqlMa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冯诺依曼转世

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

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

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

打赏作者

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

抵扣说明:

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

余额充值