一、MyBatis介绍
1.1、简介
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
1.2、特点
1、支持自定义SQL、存储过程、及高级映射
2、实现自动对SQL的参数设置
3、实现自动对结果集进行解析和封装
4、通过XML或者注解进行配置和映射,大大的减少代码量
5、数据源的连接信息通过配置文件进行配置
由此可以得出:MyBatis是对JDBC进行了简单的封装,帮助用户进行SQL参数的自动设置,以及结果集与Java对象的自动映射,与Hibernate相比,配置更加灵活简单,执行效率高吧。但是正义如此,所以没有实现完全自动话,需要手写SQL。
1.3、MyBatis整体架构
1、配置文件:
全局配置文件:mybatis-config.xml 作用:配置数据源,引入映射文件。
映射文件:XxMapper.xml 作用:配置sql语句、参数、结果集封装类型等。
2、SqlSessionFactory 作用:获取SqlSession
通过new SqlSessionFactoryBuilder().build(inputStream)来构建。
3、SqlSession 作用:执行CRUD操作
4、Executor(执行器)
SqlSession通过调用它来完成具体的CRUD,它只是一个接口,提供了两种实现:缓存的实现、数据库的实现。
5、Mapped Statement
在映射文件里面配置,包含3部分内容:
具体的sql、sql执行所需的参数类型、sql执行结果的封装类型
参数类型和结果集封装类型包括3种:
HashMap、基本数据类型、pojo