MyBatis 介绍
什么是 MyBatis?
- MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发。
什么是持久层?
- 持久化:将数据存储到磁盘或其他非易失性存储介质中,以便在系统重启或崩溃后能够恢复数据。通俗的说就是将数据保存到数据库。
- 持久层:负责完成数据持久化的一层代码块。持久层的主要作用是将应用程序中的数据存储到数据库中,并提供数据访问和管理的功能。
- Java EE 三层架构:表现层、业务层、持久层。
为什么使用 MyBatis?
- MyBatis 免除了几乎所有的 JDBC 代码、以及设置参数和获取结果集的工作。
- 使用 JDBC 的主要问题:操作繁琐,需要手动设置参数、手动封装结果集。
MyBatis 的优点
- 灵活性高:MyBatis 提供了灵活的 SQL 映射配置方式,可以满足不同的业务需求和开发场景。开发人员可以通过 XML 或注解的方式来配置 SQL 映射,还可以自定义类型处理器、插件等。
- 易于学习和使用:MyBatis 的 API 简单易用,学习曲线平缓,开发人员可以快速上手。同时,MyBatis 的文档和社区支持也非常丰富,可以帮助开发人员解决各种问题。
- 性能优越:MyBatis 采用了基于 SQL 的查询方式,可以充分利用数据库的性能优势。同时,MyBatis 还提供了缓存机制和批量操作等优化方式,可以进一步提升性能。
- 易于集成:MyBatis 可以与 Spring、Spring Boot 等框架无缝集成,可以方便地进行应用程序开发和管理。
- 易于调试和优化:MyBatis 的 SQL 映射配置方式直观清晰,可以方便地进行调试和优化。同时,MyBatis 还提供了日志记录和性能分析等工具,可以帮助开发人员快速定位问题和优化性能。
ORM介绍
- ORM,Object-Relational Mapping,对象关系映射,用于将对象模型和关系数据库之间进行映射。ORM 技术可以将数据库中的表、行、列等数据结构映射为对象、属性等面向对象的数据结构。
第一个 MyBatis 程序
- 创建数据表,并插入数据
- 引入 MyBatis jar 包依赖
- 创建并编辑核心配置文件 mybatis-config.xml
- 定义 POJO 类
- 创建并编辑 SQL 映射文件 xxxMapper.xml
- 加载核心配置文件,获取 SqlSessionFactory 对象
- 获取 SqlSession 对象
- 执行 SQL 语句
- 释放资源
参考 MyBatis 官网:mybatis.org/mybatis-3/z…
1. 引入 MyBatis 和 JDBC 的 jar 包依赖
2.创建并编辑核心配置文件 mybatis-config.xml
- 文件格式参考官网
- 数据库连接信息自行填写
- sql 映射文件自行填写并与之后创建的映射文件保持一致
3. 定义 POJO 类
- POJO,Plain Old Java Object,是一种简单的 Java 对象,它不依赖于任何特定的框架或技术,只使用 Java 标准库中的类和接口。POJO 类通常只包含私有属性、公共 getter 和 setter 方法以及一些简单的业务逻辑,不包含任何特定的业务逻辑或技术实现。
4. 创建并编辑 SQL 映射文件 xxxMapper.xml
- namespace 命名空间,这里先定义为 AccountMapper,之后会详细讲解命名空间的作用。
- 定义 SQL,类型为 select,定义 SQL id 为 selectAccount。
- #{id} 表示入参。
- resultType 表示返回数据的类型。
5. 加载核心配置文件,获取 SqlSessionFactory 对象
6. 获取 SqlSession 对象
7. 执行 SQL 语句
8. 释放资源
这种执行 SQL 的方式与 Java 根据全限定名调用 Java 对象的方法类似。