【Mybatis】基础了解

来源:互联网 发布:mac上哪里下游戏 编辑:程序博客网 时间:2024/06/10 20:30

一、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 也可以实现映射(输入映射、输出映射)。
应用场景:
适用与需求变化较多的项目,比如:互联网项目。