Mybatis学习文档
1 MyBatis 简介
1.1、 MyBatis 历史
- MyBatis 本是 apache 的一个开源项目iBatis,2010 年这个项目由 apache software foundation 迁移到了google code,并且改名为 MyBatis。
- 2013 年 11 月迁移到Github。
- iBatis 一词来源于“internet”和“abatis”的组合,是一个基于 Java 的持久层框架。iBatis 提供的持久层框架包括 SQL Maps 和 Data Access Objects(DAO)。
1.2、MyBatis 特性
- MyBatis 是一款优秀的持久层框架。
- 它支持自定义 SQL、存储过程以及高级映射。
- MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
- MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
- Mybatis 是一个半自动的 ORM(Object Relation Mapping)框架
1.3、如何获得 Mybatis
- maven 仓库
- Github:mybatis/mybatis-3: MyBatis SQL mapper framework for Java (github.com)
- 中文文档:mybatis – MyBatis 3 | 简介
1.4、 持久层
数据持久化
- 持久化就是将程序的数据在持久状态和瞬时状态转化的过程
- 内存:断电即失
- 数据库(JDBC),io 文件持久化
- 生活:冷藏,罐头
为什么要持久化?
- 有一些对象,不能让它丢掉
- 内存太贵了
1.5、 为什么需要 MyBatis?
- 将数据存入数据库中
- 方便
- 传统的 JDBC 代码复杂;简化;框架;自动化
- 不用 Mybatis 也可以;更容易上手
- MyBatis 优点:
- SQL 与程序代码的分离,功能界面清晰。Java 代码专注业务、SQL 语句专注数据。
- 提供映射标签,支持对象与数据库的 orm 字段关系映射。
- 提供对象关系映射标签,支持对象关系组建维护。
- 提供 xml 标签,支持编写动态 sql。
- 开发效率稍逊色于 HIbernate,但完全能够接受
2 第一个 Mybatis 程序
思路:搭建环境—>导入 Mybatis—>编写代码—>测试
2.1、 开发环境
IDE: idea 2021.3.3
构建工具: maven 3.6.1
MySQL 版本:MySQL 8.0.22
- MySQL 不同版本的注意事项
- 驱动类 drver-class-name
MySQL 5 版本使用 jdbc5 驱动,驱动类使用: com.mysql.jdbc.Driver
MySQL 8 版本使用 jdbc8 驱动,驱动类使用: com.mysqi.cj.jdbc.Driver - 连接地址 url
MySQL 5 版本的 url :
jdbcmysql:/localhost3306/ssm
MySQL 8 版本的 url :
jdbcmysql:/localhost3306/ssm?serverTimezone=UTC
否则运行测试用例报告如下错误:
java.sql.SQLException: The server time zone value’Ô D Ú1êx4Ê£4 ぎ’ is unrecognized or represents more
- 驱动类 drver-class-name
2.2、创建 maven 工程
- 打包方式:jar
- 引入依赖
<dependencies> |
2.3、创建 MyBatis 的核心配置文件
习惯上命名为 mybatis-config.xml,这个文件名仅仅只是建议,并非强制要求。将来整合 Spring 之后,这个配置文件可以省略,所以大家操作时可以直接复制、粘贴。
核心配置文件主要用于配置连接数据库的环境以及 MyBatis 的全局配置信息。
核心配置文件存放的位置是 src/main/resources 目录下
评论