1.简介
2.特点
Mybatis:
1) 支持自定义SQL、存储过程、及高级映射
2) 实现自动对SQL的参数设置
3) 实现自动对结果集进行解析和封装
4) 通过XML或者注解进行配置和映射,大大减少代码量
5) 数据源的连接信息通过配置文件进行配置
可以发现,MyBatis是对JDBC进行了简单的封装,帮助用户进行SQL参数的自动设置,以及结果集与Java对象的自动映射。与Hibernate相比,配置更加简单、灵活、执行效率高。但是正因为此,所以是半自动化的ORM框架,需要手写SQL,这是优点也是缺点。
ssh:struts2、spring、hibernate 用在传统型项目中。
ssm:springmvc、spring、mybatis 用在电商类项目
因此,对性能要求较高的电商类项目,一般会使用MyBatis,而对与业务逻辑复杂,不太在乎执行效率的传统行业,一般会使用Hibernate
3.Mybatis整体框架
1、配置文件
全局配置文件(核心配置文件):mybatis-config.xml,作用:配置数据源(配置数据库连接信息),引入映射文件。
映射文件:XxMapper.xml,作用:配置sql语句、参数、结果集封装类型等
2、SqlSessionFactory
作用:获取SqlSession
通过newSqlSessionFactoryBuilder().build(inputStream)来构建,inputStream:读取配置文件的IO流
3、SqlSession
作用:执行CRUD操作
它是线程不安全的。
4、Executor
执行器,SqlSession通过调用它来完成具体的CRUD
5、Mapped Statement
在映射文件里面配置,包含3部分内容:
具体的sql,sql执行所需的参数类型,sql执行结果的封装类型
参数类型和结果集封装类型包括3种:
HashMap,基本数据类型,pojo