Mybatis简介
1.1 原始jdbc操作(查询数据)
1.2 原始jdbc操作的分析
原始jdbc开发存在的问题如下:
① 数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能
② sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变java代码。
③ 查询操作时,需要手动将结果集中的数据手动封装到实体中。
应对上述问题给出的解决方案:
① 使用数据库连接池初始化连接资源
② 将sql语句抽取到xml配置文件中
③ 使用反射、内省等底层技术,自动将实体与表进行属性与字段的自动映射
2. Mybatis简介
MyBatis是一个优秀的基于ORM的半自动轻量级持久层框架.
它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL
本身,
而不需要花费精力去处理例如
注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码
2.1 mybatis 历史
MyBatis 本是apache的一个开源项目iBatis,
2010年6月这个项目由apache software foundation 迁移到了google code,
随着开发团队转投到Google Code旗下,iBatis正式改名为MyBatis ,
代码于2013年11月迁移到Github
3 什么是ORM
思想
- ORM(Object Relational Mapping)对象关系映射
- O(对象模型):
实体对象,即我们在程序中根据数据库表结构建立的一个个实体javaBean
- R(关系型数据库的数据结构):
关系数据库领域的Relational(建立的数据库表)
- M(映射):
从R(数据库)到O(对象模型)的映射,可通过XML文件映射
实现:
- (1)让实体类和数据库表进行一一对应关系
先让实体类和数据库表对应
再让实体类属性和表里面字段对应- (2)不需要直接操作数据库表,直接操作表对应的实体类对象
ORM作为是一种思想
- 帮助我们跟踪实体的变化,并将实体的变化翻译成sql脚本,执行到数据库中去,也就是将实体的变化映射到了表的变化。
mybatis
采用ORM
思想解决了实体和数据库映射的问题,对jdbc
进行了封装,屏蔽了jdbc api
底层访问细节,使我们不用与jdbc api
打交道,就可以完成对数据库的持久化操作