SSM框架之mybatis

mybatis框架的原理及使用

什么是mybatis

在java web开发中,mybatis是一个用于持久化层的框架,是对jdbc操作数据库的封装。下面是一个标准的基于SSM的java web工程的层级结构图,持久层的作用就是把用户产生的各种信息最后存储到数据库中,在标准项目中只有持久化层可以直接操作数据库。

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。mybatis现在已经成为一个非常流行的java持久层框架。

mybatis的特点

不同于hibernate,mybatis提供的是一种“半自动化”的ORM实现。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。但是它并没有封装SQL操作,它支持普通 SQL查询,存储过程和高级映射,使用者可以根据自己的需求手写动态SQL来完成数据操作。

mybatis的工作流程

这是一张非常经典的mybatis工作流程图,mybatis启动时候,首先会加载配置信息,在里面读取到数据源,数据库连接池,以及mybatis自身配置等等,然后会去寻找mapper映射文件,就是配置数据表和java类映射关系的文件。当接收到调用请求时候,会寻找对应的MappedStatement,从而解析并执行SQL语句,完成操作并对结果进行mapper转换。

简单的mybatis程序

  1. 导入相关jar文件,创建数据表,创建实体类
  2. 编写配置文件,包括数据库连接池,数据源,事务配置
  3. 编写mapper文件,建立数据表和实体类的关系,dao层方法的sql实现
  4. 主程序读取配置文件,创建SqlSessionFactory
  5. 通过SqlSessionFactory获取SqlSession对象,处理dao层方法
  6. 使用结束关闭SqlSesion

在实际开发中,mybatis通常整合spring来使用,数据库连接池,SqlSessionFactory等交给spring管理,还会更大程度上简化开发,后面介绍SSM整合时候会详细介绍具体配置,关于mybatis的内容官方的中文文档也非常友好。

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!