目录
一、Mybatis的简介
- 什么是mybatis : mybatis的前身是ibatis, 是一款有apache开源组织开发的一款Java持久层框架产品。未来会替换JDBC的操作数据库,简化JDBC操作数据库的复杂性。
- Mybatis的前生今世
2.1 Mybatis的前生是ibatis,后来更名为Mybatis。
2.2 2010年之前是由apache开源组织负责维护, 2010年交由google code团队开始维护,此时更名为Mybatis。
2.3 2013年开始入驻github(全球最大的代码托管平台,上面有很多的开源知名项目)。 - Mybatis的特点:
3.1 简单: 大大的简化了JDBC操作数据库的复杂性,使用Mybatis开发操作数据库的代码,基本上看不到任何JDBC的原生复杂的代码。
学习上手简单, 正因文学习成本低,所以很多人都在使用Mybatis。
3.2 灵活: Mybatis开发操作数据库,将sql语句书写在配置文件中, 便于对sql语句的调优和项目的维护。
二、分析JDBC操作数据库存在的缺陷
三、使用Mybatis开发的核心流程
四、使用Mybatis开发
- 搭建开发环境
1.1 引入依赖jar包 :
1.2 引入配置文件:
① 引入mybatis的全局核心配置文件 : 位置随便放
② 引入mybatis的mapper文件 : 位置随便放
③ 引入log4j日志的配置文件:必须放在src根目录下
1.3 初始化配置: 编写mybatis的全局核心配置文件,配置mybatis操作数据库的 相关参数等。
① 编写mybatis-config.xml
- 开发mybatis应用
2.1 mybatis的核心API:
API名称 | 作用 |
---|---|
Resources | 用于读取和解析mybatis-config.xml全局配置文件。 |
SqlSessionFactory | 主要作用就是用于创建SqlSession的。 |
SqlSession | 1. SqlSession类似于JDBC开发中Connection对象的作用,一个SqlSession中封装了一个Connection对象,所以mybtais开发的时候使用SqlSession对象控制事务。2. 由于mybatis是采用mapper文件作为代理DAO接口的实现,所以我们需要使用SqlSession去获取最终的DAO实现类对象,然后调用DAO的方法。 |
2.2 开发DAO
①封装实体类
②编写DAO接口
③编写mapper文件
④ 如果是一个新的mapper文件,需要在mybatis-config.xml全局配置文件中注册一下位置。
⑤ 测试
五、mybatis中接口参数绑定机制
- 接口方法一个参数 : mapper文件中#{}取值语法里面,写什么都可以。
- 接口方法多个参数:
2.1 注解方式绑定: 专门用于条件查询。可读性高
注意: @Param注解的value属性可以省略。
2.2 使用Map作为接口方法的参数 : 也是可以用于查询,但是可读性差,不建议现在使用。
2.3 对象方式 : 主要用于添加和更新操作 。
六、使用Mybatis完成CRUD
- 查询返回多条数据
- 删除
注意: Mybatis框架的事务是自动回滚处理 ,所以在执行完写(增 删 改)操作后,必须手动提交事务。 - 更新
- 添加
七、使用Mybatis开发service和DAO
- 创建表
- 封装实体类
- 编写DAO
- 编写Service
注意: 以后开发查询操作不控制事务。 写操作一定要控制事务。