MyBatis是一个持久层框架,是apache下的顶级项目。
MyBatis托管到googlecode下,后来托管到github下(https://github.com/mybatis/mybatis-3/releases)。
作用:让程序员将主要精力放在sql上,根据MyBatis提供的映射方式,自由灵活的生成满足需要的sql语句。
特点:半自动化(大部分代码需要开发人员手动编写sql);
输入映射,输出映射(可以对preparedStatement中的参数自动进行输入映射,将查询结果集自动进行输出映射)。
SqlMapConfig.xml:MyBatis的全局配置文件,配置数据源、事务等MyBatis配置环境。
配置映射文件(配置sql语句):一系列mapper.xml(映射文件)。
SqlSessionFactory(会话工厂):创建session。
SqlSession(会话):操作数据库,发出sql语句进行增删改查。
(SqlSession是一个面向开发人员的接口)
Executor(执行器):SqlSession内部通过执行器操作数据库。
(基本执行器和缓存执行器)
mapped statement(底层封装对象):对操作数据库存储封装,包括SQL语句、输入参数、输出结果类型。
输入参数类型:java简单类型,Hash Map、自定义pojo。
输出参数类型:同输入。