1、mybatis是什么?
mybatis是一个持久层的框架,是apache下的顶级项目。
mybatis托管到goolecode下,再后来托管到github下(https://github.com/mybatis/mybatis-3/releases)。
mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句。
mybatis可以将向 preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)
2、mybatis框架
SqlMapConfig.xml(是mybatis的全局配置文件,名称不固定)
配置了数据源、事务等mybatis运行环境
配置映射文件(配置sql语句)
mapper.xml(映射文件)、mapper.xml、mapper.xml…..
||
SqlSessionFactory(会话工厂),根据配置文件创建工厂
作用:创建SqlSession
||
SqlSession(会话),是一个接口,面向用户(程序员)的接口
作用:操作数据库(发出sql增、删、改、查)
||
Executor(执行器),是一个接口(基本执行器、缓存执行器)
作用:SqlSession内部通过执行器操作数据库
||
mapped statement(底层封装对象)
作用:对操作数据库存储封装,包括 sql语句,输入参数、输出结果类型(java简单类型、hashmap、pojo自定义)
||
msyql
3、与hibernate不同(hibernate适用于中小型的需求变化少的–sql语句自动生成,比如后台管理系统),mybaitis适用于需求变化多的,适用于大型项目,比如互联网项目