ibatis框架的sqlmapclient接口
SqlMapClient,是iBatis中的重要接口,这个接口涉及到对SQL映射的执行和批处理。
现在,就先了解它的对query开头方法的定义。
首先是 queryForList 方法:
//指定SQL的ID,执行的结果返回List
queryForList(java.lang.String id) ;
//指定SQL的ID,并指定返回的行数
queryForList(java.lang.String id, int skip, int max) ;
//指定SQL的ID,并指定传入参数
queryForList(java.lang.String id, java.lang.Object parameterObject) ;
//指定SQL的ID,并指定传入参数,再指定返回的行数
queryForList(java.lang.String id, java.lang.Object parameterObject, int skip, int max) ;
接着是 queryForMap 方法:
//执行SQL的ID,并把结果中的某一字段作为map的key
queryForMap(java.lang.String id, java.lang.Object parameterObject, java.lang.String keyProp) ;
//同上,并且map中的value是指定的字段,而不是整个返回对象
queryForMap(java.lang.String id, java.lang.Object parameterObject, java.lang.String keyProp, java.lang.String valueProp) ;
再是queryForObject 方法:
//执行指定的SQL ID,并返回一个对象,如果查询出的函数过多,会有异常SQLException抛出
queryForObject(java.lang.String id) ;
//同上,并加上了传递的参数
queryForObject(java.lang.String id, java.lang.Object parameterObject) ;
//同上,并执行的返回对象的引用
queryForObject(java.lang.String id, java.lang.Object parameterObject, java.lang.Object resultObject) ;
最后,是 queryForPaginatedList 方法,也就是针对分页的方法: 但是这个方法已经Deprecated 了, 也就是不赞成使用这个方法了
//这两个方法返回的是 PaginatedList 接口。
//指定查询的SQL ID,并且规定了每页的数量
queryForPaginatedList(java.lang.String id, int pageSize) ;
//同上,并且加上了指定的传参
queryForPaginatedList(java.lang.String id, java.lang.Object parameterObject, int pageSize) ;
最后一个,那就是 queryWithRowHandler,对查询的每一个结果进行处理:
//指定SQL id ,指定传参,并指定处理器
queryWithRowHandler(java.lang.String id, java.lang.Object parameterObject, RowHandler rowHandler) ;
//指定SQL id,指定处理器
queryWithRowHandler(java.lang.String id, RowHandler rowHandler) ;
现在了解一下这个 RowHandler 这个接口。
此接口只有一个定义方法:handlerRow(java.lang.Object valueObject)
所以,通常我们都实现这个接口,因为对每一个处理都是我们自己的需求。
其中的传入属性就是每一行的对象
注:该文章转载:http://njupt.iteye.com/blog/320238
ibatis框架的sqlmapclient接口的更多相关文章
- 【转】深入分析 iBATIS 框架之系统架构与映射原理
深入分析 iBATIS 框架之系统架构与映射原理 iBATIS 通过 SQL Map 将 Java 对象映射成 SQL 语句和将结果集再转化成 Java 对象,与其他 ORM 框架相比,既解决了 Ja ...
- 深入分析 iBATIS 框架之系统架构与映射原理--转载
http://www.ibm.com/developerworks/cn/java/j-lo-ibatis-principle/ iBATIS 通过 SQL Map 将 Java 对象映射成 SQL ...
- spring+struts2+ibatis 框架整合以及解析
一. spring+struts2+ibatis 框架 搭建教程 参考:http://biancheng.dnbcw.net/linux/394565.html 二.分层 1.dao: 数据访问层(增 ...
- Ibatis框架之系统架构
如果用最简洁的话来总结 iBATIS 主要完成那些功能时,我想下面几个代码足够概括. Class.forName("oracle.jdbc.driver.OracleDriver" ...
- 深入分析 iBATIS 框架之系统架构与映射原理
iBATIS 框架主要的类层次结构 总体来说 iBATIS 的系统结构还是比较简单的,它主要完成两件事情: 根据 JDBC 规范建立与数据库的连接: 通过反射打通 Java 对象与数据库参数交互之间相 ...
- iBATIS 框架主要的类层次结构
iBATIS 框架主要的类层次结构 总体来说 iBATIS 的系统结构还是比较简单的,它主要完成两件事情: 根据 JDBC 规范建立与数据库的连接: 通过反射打通 Java 对象与数据库参数交互之间相 ...
- iBatis框架batch处理优化 (转)
为什么要做batch处理 这个问题我就不解释了,因为我想你们肯定能比我解释的更好!如果你真的不知道,那就到Google上去搜索一下吧☻Oracle回滚段 这个问题偶也不很明白,只是 ...
- iBatis框架基本使用
iBatis框架是Java持久层开发框架,说白了就是前人写了一部分代码(针对数据库操作),我们要做的就是再次开发,拿来框架直接使用. 我们自己开发时,dao层的sql语句都是写死在程序中的,如果查询条 ...
- iBatis框架简介
一.为啥使用iBatis? 在 Hibernate.JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择.即使在持久层框架层出不穷 ...
随机推荐
- Silverlight动画学习笔记(三):缓动函数
(一)定义: 缓动函数:可以将自定义算术公式应用于动画 (二)为什么要用缓动函数: 您可能希望某一对象逼真地弹回或其行为像弹簧一样.您可以使用关键帧动画甚至 From/To/By 动画来大致模拟这些效 ...
- SpringUtil
/** SpringUtil.java {{IS_NOTE Purpose: Description: History: Thu Jun 1 13:53:53 2006, Created by hen ...
- css透明(支持各浏览器)
opacity: 0.4;filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40); -ms-filter: "progid:D ...
- Oracle 表的访问方式(2)-----索引扫描
索引扫描(Index scan) 我们先通过index查找到数据对应的rowid值(对于非唯一索引可能返回多个rowid值),然后根据rowid直接从表中得到具体的数据,这种查找方式称为索引扫描或索引 ...
- int main(int argc,char* argv[])参数详解
argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 命令行后面跟的用户输入的参数,比如: int main(int argc, char* argv[] ...
- Unable to create the store directory. (Exception from HRESULT: 0x80131468)
一个ASP.NET的程序,使用了MS ReportViewer报告控件,在用该控件导出生成Excel文件时,先是提示行不能超过65535. 这个是由于Excel2003的行限制的原因.由于修改成用Ex ...
- php操作mysqli(示例代码)
<?php define("MYSQL_OPEN_LOGS",true); class mysqliHelp { private $db; public function _ ...
- C++中使用心得
1.struct成员默认访问方式是public,而 class默认访问方式是private! 2.exit函数终止程序执行会调用析构函数 ,abort函数终止程序不会调用析构函数! 3.静态局部变量直 ...
- Could not locate device support files.《This iPhone 5 (Model A1429) is running iOS 7.0.4 (11B554a), which may not be supported by this version of Xcode.》-b
原因:Xcode8 不支持 iOS7 解决方法: 在“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/De ...
- Careercup - Facebook面试题 - 23869663
2014-05-02 03:37 题目链接 原题: A string is called sstring if it consists of lowercase english letters and ...