概述
什么是Mybatis?
- 是一款优秀的持久层框架
- 支持定制化SQL,存储过程以及高级映射
- Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集
- 可以使用简单的XML或者注解来配置和映射原生类型,接口和java的POJO为数据库的记录
- Apache 开源项目ibatis。 现托管于GitHub.https://github.com/mybatis/mybatis-3
- Maven 坐标:https://mvnrepository.com/artifact/org.mybatis/mybatis
什么是持久化?
持久化就是将程序数据在持久状态和瞬时状态间转换的机制
- 为什么需要持久化:
- 内存断电及失,然后一些数据需要永久保存,比如公安局里的全国身份证信息,银行的资金。
- 内存太贵(真理),这个我觉得也算是一个理由之一吧,内存跟硬盘一样便宜的话需要持久化的数据积极不用那么多了。
持久层
持久层可以将业务数据存储到磁盘,具备长期存储能力
- 分层(举例子JavaWeb中比较熟悉的):
- Dao层
- Service层
- Controller层
- 持久层是现代开发过程中抽象出来的概念,主要专注于持久化的实现,简单来说就是跟数据库的交互。跟Dao层其实有部分功能是重叠的
为什么需要Mybatis?
- 提升开发效率
- 传统的JDBC代码太复杂。 Mybatis能大大简化操作。
特点
- 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
- 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml标签,支持编写动态sql。