MyBatis是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。
在mybstis还没有出来之前,我们用的都是纯JDBC,纯JDBC也有些缺点的,SQL语句和JAVA代码是写在一起的,而这是两种不同的语言。重复的创建连接,效率不高。事务处理不灵活,不是面向切面,查询结果集的映射不方便。
而mybatis恰好解决了这些问题。SQL语句全部独立的保存在xml中,使用连接池技术,灵活高效。事务处理简单,面向切面编程。查询结果集的映射自动化,动态SQL标签,使查询更强大。
mybatis用分层的方式来表示。可以分为基础支撑层、数据处理层、接口层。
基础支撑层包含了连接管理、事务管理、配置加载、缓存处理。
数据处理包含了参数映射、SQL解析、SQL执行,到最后的结果映射。
接口层是数据的数据查询、新增、更新、删除接口。
MyBatis的执行流程
A:POM.XML导入依赖
B:创建主配置文件吧
C:创建子映射文件并关联到主配置文件
D:为每一个模块准备业务POJO及DAO
F:核心API操作数据库
SqlSession:会话,代表与数据库的一次会话
SqlSessionFactory:用于创建SqlSession的工厂
SqlSessionFactoryBuilder:创建SqlSessionFactory的构建器
mybatis有两种传值方式,分别是#和$
符号, #相当于对数据加上双引号,$