代码改变世界

【SSM电商项目实战4】Mybatis简单回顾

2017-06-16 22:49  核桃不是桃  阅读(792)  评论(0)    收藏  举报

在开始实际的开发之前,我有必要复习一下三大框架,算是对之前学习的总结,一次简单的回顾。

先从Mybatis开始。

从持久层说起

所谓持久层,就是将数据存储在硬盘或者磁带一类能持久保存的介质上。实现持久层的方式有很多,比如文件或者数据库。JAVA要操作数据库,最原生的方式是使用JDBC。

但是JDBC开发效率很低,需要写很多重复代码,加上关系数据库和对象本身存在所谓的阻抗不匹配情况。使用JDBC,不仅要自己写SQL语句,并且还必须操作Connection,Statment和ResultSet这些其实只是手段的辅助类。

为了提高开发效率,有人发明了ORM(对象关系映射)框架,这其中以Hibernate和Mybatis最为知名。通过这种框架,就可以像操作对象一样操作数据库了。

Mybatis相比之下要更轻量级,上手难度低些。而且据说传统企业用SSH框架为主,新兴企业用SSM框架多些。本着跟着趋势走,学就学流行的的原则,在本项目中使用SSM框架,也就是Mybit来实现持久层。

我总结了一下持久化层的工作原理,原理图基本如下:

 

可以看出持久化层的基本思想是一致的:

  1. 首先通过配置文件得到sessionFactory这个工厂类;
  2. 工厂类生产出sqlsession
  3. session完成对数据库的增删改查操作,以及对事物的操作;
  4. 完成之后关闭session
  5. 在java对象和数据库之间,通常有Mapping配置文件(一般为xml文件)

核心对象SqlSession

sqlSession的作用:

  1. 能向SQL语句传入参数
  2. 执行SQL语句
  3. 获取zhixingSQL语句的结果
  4. 事物的控制能力

如何获得Session对象?

  1. 通过配置文件获得数据库连接相关的信息
  2. 通过配置信息构建sqlSessionFactory
  3. 通过SqlSessionFactory打开数据库会话

暂时就想到这么多,其实Mybatis还是很简单的,主要是要对原生sql语句熟练掌握,然后通过Mybatis提供的OGNL表达式就能实现对数据库的操作了。