MyBatis是什么

维基 问答 2022-05-31 22:06:06 阅读(...)

MyBatis是一个Java持久化框架,通过XML描述符或注解把对象与存储过程或SQL语句关联起来,映射成数据库内对应的纪录。 MyBatis是在Apache许可证 2.0下分发的自由软件,是iBATIS 3.0的分支版本。

MyBatis 是一个 Java 持久化框架,它通过 XML 描述符或注解把对象与存储过程或 SQL 语句关联起来,映射成数据库内对应的纪录。 MyBatis 是在 Apache 许可证 2.0 下分发的自由软件,是 iBATIS 3.0 的分支版本,其维护团队也包含 iBATIS 的初创成员。

MyBatis

功能概况

与其他对象关系映射框架不同,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 可以查询当前数据库的状态,应用或恢复对数据库模式的变更。它也有助于发现和解决由多个开发人员并行修改数据库模式的情况。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • MyBatis是什么

    MyBatis是什么

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
  • Spring Boot

    什么是Spring Boot

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
  • Spring Framework

    Spring Framework是什么

    Spring框架是Java平台的开源的全栈应用程序框架和控制反转容器实现,一般被直接称为Spring。框架的一些核心功能理论上可用于任何Java应用,但Spring还为基于Java企业版平台构建的Web应用提供了大量的拓展支持。
  • doT.js 模板引擎框架

    doT.js是什么

    doT.js是一个JavaScript模板框架,在web前端使用dot.js作为模板引擎,主要的用途就是,在写好的模板上,放进数据,生成含有数据的html代码。
  • Netty

    Netty是什么框架

    Netty 是一个Java框架,它提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
  • Svelte

    Svelte是什么

    Svelte 是一个编译,可以将源代码编译为没有依赖关系的纯 JavaScript 前端框架。可以使用 webpack,Browserify,Rollup 或 Gulp 编译源代码,Svelte 提供了相应的插件。