数据库是企业应用中非常重要的部分,而MyBatis是流行的数据库持久层框架之一,本文将主要介绍MyBatis的使用。
一、 简介
MyBatis是一款优秀的数据持久层ORM框架,最早是Apache的一个开源项目,2010年这个项目迁移到Google Code,并且改名为MyBatis,2013年11月又迁移到GitHub。它支持定制化的SQL、存储过程、高级映射,可以使用简单的XML或注解配置和映射原生信息,轻松地将普通的JAVA对象与数据库的表进行关联。具有以下特点:
(1)易学易用,没有第三方依赖,
(2)封装JDBC操作,减少开发人员工作量
(3)SQL和代码解耦,业务逻辑与访问逻辑分离。
(4)灵活动态SQL,支持各种条件动态生成SQL
(5)自动映射结果集,减少重复的编码工作。
核心概念
(1)Mapper 配置文件,可以使用XML、注解、API实现。
(2)Mapper接口: 类似于DAO接口,自定义或动态代理。
(3)Executor(执行器) 所有的SQL执行都是通过它执行。
(4)SqlSession(会话)完全包含数据库相关所有执行操作的方法,底层封装了JDBC连接。
(5)SqlSessionFactory(会话工厂) 是单个数据库映射关系经过编译后的内存镜像。
(6)SqlSessionFactoryBuilder(构建器) 用于解析配置文件,包括属性配置、别名配置、拦截器配置、数据源和事务管理器等。
启动流程:
(1)加载Mapper配置的SQL映射文件。
(2)创建会话工厂
(3)创建会话
(4)创建执行器
(5)封装SQL对象
(6)操作