MyBatis是一个Java持久化框架,通过XML描述符或注解把对象与存储过程或SQL语句关联起来,映射成数据库内对应的纪录。 MyBatis是在Apache许可证 2.0下分发的自由软件,是iBATIS 3.0的分支版本。
MyBatis 是一个 Java 持久化框架,它通过 XML 描述符或注解把对象与存储过程或 SQL 语句关联起来,映射成数据库内对应的纪录。 MyBatis 是在 Apache 许可证 2.0 下分发的自由软件,是 iBATIS 3.0 的分支版本,其维护团队也包含 iBATIS 的初创成员。
功能概况
与其他对象关系映射框架不同,MyBatis 没有将 Java 对象与数据库表关联起来,而是将 Java 方法与 SQL 语句关联。MyBatis 允许用户充分利用数据库的各种功能,例如存储过程、视图、各种复杂的查询以及某数据库的专有特性。如果要对遗留数据库、不规范的数据库进行操作,或者要完全控制 SQL 的执行,MyBatis 是一个不错的选择。
与 JDBC 相比,MyBatis 简化了相关代码:SQL 语句在一行代码中就能执行。MyBatis 提供了一个映射引擎,声明式的把 SQL 语句执行结果与对象树映射起来。通过使用一种内建的类 XML 表达式语言,或者使用 Apache Velocity 集成的插件,SQL 语句可以被动态的生成。
MyBatis 与 Spring Framework 和 Google Guice 集成,这使开发者免于依赖性问题。
MyBatis 支持声明式数据缓存(declarative data caching)。当一条 SQL 语句被标记为“可缓存”后,首次执行它时从数据库获取的所有数据会被存储在一段高速缓存中,今后执行这条语句时就会从高速缓存中读取结果,而不是再次命中数据库。MyBatis 提供了基于 Java HashMap 的默认缓存实现,以及用于与 OSCache、Ehcache、Hazelcast 和 Memcached 连接的默认连接器。MyBatis 还提供 API 供其他缓存实现使用。
MyBatis 生成器
MyBatis 提供了代码生成器。MyBatis 生成器(MyBatis Generator)能对数据库表内省,生成执行的增删改查(CRUD)时所需的 MyBatis 代码。有相关的 Eclipse 插件可供使用。
MyBatis Migrations
MyBatis Migrations 是一个 Java 控制台应用程序,它通过管理数据定义语言(DDL)文件来跟踪数据库模式的变更。
Migrations 可以查询当前数据库的状态,应用或恢复对数据库模式的变更。它也有助于发现和解决由多个开发人员并行修改数据库模式的情况。