1.1、什么是Mybatis?
● MyBatis是一款优秀的持久层框架
● 它支持定制化SQL、存储过程以及高级映射。
● MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
● MyBatis 可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO (Plain Old JavaObjects,普通老式Java对象)为数据库中的记录。
● MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。
● 2013年11月迁移到Github。
● 如何获得Mybatis?
○ maven仓库:
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
Github : https://github.com/mybatis/mybatis-3/releases
中文文档: https://mybatis.org/mybatis-3/zh/index.html
1.2、持久化
● 数据持久化
○ 持久化就是将程序的数据在持久状态和瞬时状态转化的过程·
○ 内存:断电即失
○ 数据库(Jdbc),io文件持久化。|
● 为什么需要需要持久化?
○ 有一些对象,不能让他丢掉。
1.3、持久层
完成持久化工作的代码块
层的界限十分明显
1.4、为什么需要Mybatis?
● 帮助程序员将数据存入到数据库中
● 方便
● 传统的JDBC代码太复杂了。简化,框架。自动化
● 不用Mybatis也可以,更容易上手。技术没有高低之分,只有使用的人有高低之分
● 优点
○ 优点:
■ 简单易学。
■ 灵活
■ sql和代码的分离,提高了可维护性。
■ 提供映射标签,支持对象与数据库的orm字段关系映射。
■ 提供对象关系映射标签,支持对象关系组建维护
■ 提供xml标签,支持编写动态sql。
● JDBC的问题
○ 频繁的创建和销毁数据库连接
○ sql语句在代码中硬编码,?(占位符)
○ 语句对象preparedStatament存在硬编码,setString(1,“admin”)
○ 结果集也存在硬编码,getString(“username”)
● 事务四大特性
○ 原子性
○ 一致性
○ 隔离性
○ 持久性
● 什么是mybatis
○ 持久层框架
● mybatis有两种用法,注解和xml,一般常用xml,可以做到sql分离。
● mybatis优点,小巧、方便、高效、简单、灵活
● mybatis官方文档
○ https://mybatis.org/mybatis-3/zh/index.html
● mybatis-plus
○ https://www.baomidou.com/