(貌似以前是叫iBatis)
MyBatis是支持定制化SQL、存储过程以及高级映射的持久层框架(持久层是负责向或者从一个或多个数据存储器中存储或获取数据的一组类和组件)。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解。
MyBatis需要导入jar包,若需要使用Maven来构建项目,则需将下面的dependency代码置于pom.xml文件中
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>
MyBatis的功能架构
1.API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操作数据库。
2.数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。主要是根据调用的请求完成一次数据库操作。
3.基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,为上层的数据处理层提供最基础的支撑。
简单,没有第三方以来,只需要两个jar文件+配置几个sql映射文件。十分灵活MyBatis不会对应用程序或者数据库的现有设计有任何影响。sql在xml里,便于统一管理和优化。解除了sql与程序代码的耦合,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰。sql和代码的分离,提高了可维护性。支持动态编写sql。
但是编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此。SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库。二级缓存机制不佳。