1.1、什么是MyBatis
- Mybatis是一款优秀的持久层框架
- 它支持定制化SQL
- MyBatis避免了所有的JDBC代码和手动设置参数以及获取结果集
- Mybatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plain Old Java Objects,普通老式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.5</version>
</dependency>
1.2、持久化
持久化就是将程序的数据在持久状态和瞬时状态转化的过程
- 即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内从中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。
- JDBC就是一种持久化机制,文件IO也是一种持久化机制。
- 在生活中:将鲜肉冷藏,吃的时候再解冻的方法也是一种持久化。
为什么需要持久化?那是由于内存本身的缺陷引起的
- 内存断电后数据会丢失,但有一些对象是无论如何都不能丢失的,比如银行账号等,遗憾的是,人们还无法保证内存永不掉点。
- 内存过于昂贵,与硬盘、光盘等外存相比,内存的价格要高2~3个数量级,而且维持成本也高,至少需要一直供电吧。所以即使对象不需要永久保存,也会因为内存容量限制不能一直待在内存中。需要持久化来缓存到外存。
1.3、持久层
Dao层,Service层,Controller层…
- 完成持久化工作的代码块
- 层界限十分明显
1.4、为什么需要Mybatis
- 帮助程序员将数据存入到数据库中
- 方便
- 传统的JDBC代码太复杂了,简化,框架,自动化
- 不用MyBatis也可以,使用更容易上手
- Mybatis是一个半自动化的ORM框架(Object Relationship Mappint)–>对象关系映射
- 优点
- 简单易学
- 灵活
- sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象关系组建维护
- 提供xml标签,支持编写动态sql。