【Mybatis】基础了解
一、Mybatis框架
mybatis是一个持久层的框架,是apache下的顶级项目。
持久化框架,是apache下的顶级项目;
mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句。
mybatis可以将向 preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射)
二、框架执行过程:
1、配置配置文件SqlMapConfig.xml
2、通过配置文件加载mybatis运行环境,创建sqlSessionFactory
3、通过SqlSessionFactory创建sqlSession
4、调用sqlsession的方法操作数据
5、释放资源,关闭sqlsession
三、mybatis开发dao两种方法
1、原始dao开发
(1)实现类方法中存在大量模板
(2)调用sqlsession方法时,将statement的id硬编码了
(3)调用sqlsession方法时,传入的变量,由于sqlsession方法使用泛型,即使变量类型传入错误,在编译阶段也不报错,不利于程序员开发。
2、mapper代理开发
(1)编写mapper.xml文件;
(2)编写mapper接口
四、配置文件SqlMapConfig.xml几个属性
1、properties
连接参数只配置在db.properties文件,对参数统一管理
2、settings
mybatis全局配置参数,全局参数将会影响mybatis的运行行为
3、typeAliases
定义别名
4、tpyeHandler
完成jdbc类型和java类型的转换
5、mapper
映射配置
五、Mybatis核心
对sql语句灵活操作,通过表达式判断,对sql灵活拼接、组装。
动态sql:
六、总结
hibernate:是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sql,sql语句自动生成了。对sql语句进行优化、修改比较困难。
应用场景:
适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa。
mybatis:专注sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全 的ORM框架,虽然程序员自己写sql,mybatis 也可以实现映射(输入映射、输出映射)。
应用场景:
适用与需求变化较多的项目,比如:互联网项目。