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接口的更多相关文章

  1. 【转】深入分析 iBATIS 框架之系统架构与映射原理

    深入分析 iBATIS 框架之系统架构与映射原理 iBATIS 通过 SQL Map 将 Java 对象映射成 SQL 语句和将结果集再转化成 Java 对象,与其他 ORM 框架相比,既解决了 Ja ...

  2. 深入分析 iBATIS 框架之系统架构与映射原理--转载

    http://www.ibm.com/developerworks/cn/java/j-lo-ibatis-principle/ iBATIS 通过 SQL Map 将 Java 对象映射成 SQL ...

  3. spring+struts2+ibatis 框架整合以及解析

    一. spring+struts2+ibatis 框架 搭建教程 参考:http://biancheng.dnbcw.net/linux/394565.html 二.分层 1.dao: 数据访问层(增 ...

  4. Ibatis框架之系统架构

    如果用最简洁的话来总结 iBATIS 主要完成那些功能时,我想下面几个代码足够概括. Class.forName("oracle.jdbc.driver.OracleDriver" ...

  5. 深入分析 iBATIS 框架之系统架构与映射原理

    iBATIS 框架主要的类层次结构 总体来说 iBATIS 的系统结构还是比较简单的,它主要完成两件事情: 根据 JDBC 规范建立与数据库的连接: 通过反射打通 Java 对象与数据库参数交互之间相 ...

  6. iBATIS 框架主要的类层次结构

    iBATIS 框架主要的类层次结构 总体来说 iBATIS 的系统结构还是比较简单的,它主要完成两件事情: 根据 JDBC 规范建立与数据库的连接: 通过反射打通 Java 对象与数据库参数交互之间相 ...

  7. iBatis框架batch处理优化 (转)

    为什么要做batch处理        这个问题我就不解释了,因为我想你们肯定能比我解释的更好!如果你真的不知道,那就到Google上去搜索一下吧☻Oracle回滚段    这个问题偶也不很明白,只是 ...

  8. iBatis框架基本使用

    iBatis框架是Java持久层开发框架,说白了就是前人写了一部分代码(针对数据库操作),我们要做的就是再次开发,拿来框架直接使用. 我们自己开发时,dao层的sql语句都是写死在程序中的,如果查询条 ...

  9. iBatis框架简介

    一.为啥使用iBatis? 在 Hibernate.JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择.即使在持久层框架层出不穷 ...

随机推荐

  1. FastDFS4 + Ubuntu12安装及部署

    1. 安装libevent 如果需要使用http进行下载,需要安装这个组件. 2. 安装fastdfs 3. 配置fastdfs 4. 安装nginx 问题4.1:安装nginx启动后访问原先资源UR ...

  2. table总结insertRow、deleteRow

    表格有几行: var trCnt = table.rows.length;  (table为Id ) 每行有几列:for (var i=0; i<trCnt; i++)             ...

  3. keditor_php图片上传

    <script type="text/javascript" src="/statics/js/kindeditor/kindeditor-min.js" ...

  4. 修改 apache http server 默认站点目录

    1.打开apache中的 httpd.conf 文件,将DocumentRoot "D:/Program Files/Apache Software Foundation/Apache2.2 ...

  5. 图片放大缩小(和ViewPager配合使用流畅显示)--第三方开源--PhotoView

    图片的放大缩小实现效果是使用的github上的一个开源项目photoView实现的,下载地址:https://github.com/chrisbanes/PhotoView 下面看测试代码: acti ...

  6. Sorl之java操作

    参考教程: http://www.cnblogs.com/xia520pi/p/3625232.html http://www.cnblogs.com/hujunzheng/p/5647896.htm ...

  7. fast_recovery_area无剩余空间(ORA-19815)

    一.问题现象 --执行日志切换时,夯住 SQL ('/u01/oradata/oracle/redo04.log') size 50m; SQL> alter system switch log ...

  8. WPF的Application类

    本节主要介绍一下Application类的部分功能,我们首先来看一下如何使用Application类来加载一个窗口: 我们首先创建一个控制台程序,并引入相关的dll,然后修改Main()方法. [ST ...

  9. MySQL显示连接的数据库名

    在默认下,MySQL在use databasename的时候,是不显示连接的库名! mysql> show databases;+--------------------+| Database ...

  10. MySQL创建复合索引

    在MySQL数据库中,创建复合索引的时候,不知道在创建过程中哪个列在前面,哪个列该在后面,用以下方式即可: select count(distinct first_name)/count(*) as ...