定义
mybatis是一个持久层的框架,是Apache下的顶级项目
它让程序员将主要经历放在sql上,通过自身提供的映射方式,自由灵活生成满足需要的sql语句
它可以将向preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象
执行过程
1.配置mybatis的配置文件,SqlMapConfig.xml(名称不固定)
2.通过配置文件,加载mybatis运行环境,创建SqlSessionFactory会话工厂(单例方式)
3.通过SqlSessionFactory创建SqlSession
SqlSession是一个面向用户接口(提供操作数据库方法),实现对象是线程不安全的,建议sqlSession应用场合在方法体内。
4.调用sqlSession的方法去操作数据。
如果需要提交事务,需要执行SqlSession的commit()方法。
5.释放资源,关闭SqlSession
框架
VS hibernate
hibernate
是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sql,sql语句自动生成了。
对sql语句进行优化、修改比较困难的。
应用场景
适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa。。
mybatis
是一个不完全的ORM框架。专注sql本身,需要程序员编写sql语句.sql修改、优化较方便。
引用场景
适用与需求变化较多的项目,比如:互联网项目