IBATIS简介

news/2024/7/8 10:58:40

ibatis 开发学习笔记

 

 

相对Hibernate和Apache OJB 等“一站式”ORM解决方案而言,ibatis 是一种“半
自动化”的ORM实现。


目前主流的ORM,无论Hibernate 还是Apache OJB,都对数据库结构提供了较为完整的封装,提供了从POJO 到数据库表的全套映射机制。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate或者OJB 提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练掌握,
Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的SQL 并调用JDBC 接口加以执行。

大多数情况下(特别是对新项目,新系统的开发而言),这样的机制无往不利,大有一
统天下的势头。但是,在一些特定的环境下,这种一站式的解决方案却未必灵光。

 

在遇到以下情况:
1. 系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几
条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开。
2. 开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由
存储过程实现

3. 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高
度优化的SQL语句(或存储过程)才能达到系统性能设计指标。

 

面对这样的需求,再次举起Hibernate 大刀,却发现刀锋不再锐利,甚至无法使用,
奈何?恍惚之际,只好再摸出JDBC 准备拼死一搏……,说得未免有些凄凉,直接使用JDBC
进行数据库操作实际上也是不错的选择,只是拖沓的数据库访问代码,乏味的字段读取操作
令人厌烦。

 


“半自动化”的ibatis,却刚好解决了这个问题。
这里的“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化”
ORM 实现而言,“全自动”ORM 实现了POJO 和数据库表之间的映射,以及SQL 的自动
生成和执行。而ibatis 的着力点,则在于POJO 与SQL之间的映射关系。也就是说,ibatis
并不会为程序员在运行期自动生成SQL 执行。具体的SQL 需要程序员编写,然后通过映
射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。


使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,
这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate
会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等
“全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统
设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显
得别具意义。


http://www.niftyadmin.cn/n/3044462.html

相关文章

ibatis 实例配置

以以下配置为例说明Ibatis的配置&#xff1a; <sqlMapConfig> <settings cacheModelsEnabled"true" enhancementEnabled"true" lazyLoadingEnabled"true" errorTracingEnabled"true" maxRequest…

初学vuejs

现在的前端&#xff0c;各种框架各种语言层出不穷&#xff0c;其目的都是为了解决问题而出现的&#xff0c;在越来越发达的移动端上当然也少不了框架的应用了&#xff0c;其中用的最多也最出名的三大框架就是Angular&#xff0c;react 和vue了&#xff0c;vue算是后起之秀了&am…

protege 和webprotege使用

两者完全一样&#xff0c; 可以选择在web版本上设置schema 然后下载下来&#xff0c;在本地软件打开就和本地界面上设计的一样。在界面上下载下来就是本地版本的结果。操作过程直接参考 小象的就可以 02讲 知识建模

状态管理神器 moox 发布 1.0 beta版本

moox moox 是基于 redux 开发的高性能状态管理机。 github: github.com/suxiaoxin/m… 我是开源项目 YApi 作者&#xff0c;moox 是自己在使用 redux 过程中生成的灵感&#xff0c;麻烦各位 star 下github。 安装 npm install moox 用法 moox 封装了 redux 的 action, reducer …

全文检索 以及 lucene solr ElasticSearch 区别

什么是全文搜索引擎&#xff1f; 百度百科中的定义&#xff1a; 全文搜索引擎是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词&#xff0c;对每一个词建立一个索引&#xff0c;指明该词在文章中出现的次数和位置&#xff0c;当用户查询时…

MVC模式总结(1)

一、MVC模式概述 模型-视图-控制器&#xff08;MVC模式&#xff09;是一种非常经典的软件架构模式&#xff0c;在UI框架和UI设计思路中扮演着非常重要的角色。从设计模式的角度来看&#xff0c;MVC模式是一种复合模式&#xff0c;它将多个设计模式在一种解决方案中结合起来&…

sparql使用操作

数据例子 sparql 查询的是RDF数据&#xff0c;RDF图是三元组数据&#xff0c;此处例子使用数据的原始数据使用图展示为下下图所示 如果使用三元组形式则该图则为 prefix vCard: <http://www.w3.org/2001/vcard-rdf/3.0#> . prefix rdf: <http://www.w3.org/…