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 基本是持久层框架的不二选择.即使在持久层框架层出不穷 ...
随机推荐
- mysql 的数据类型
mysql 的数据类型(描述的是字段)三大类:一.整型:1.tinyint(M),其中M是显示宽度,需要配合zerofill,就是前面0填充,存储单位为1个字节(8位),无符文是最大能存储范围0000 ...
- 第29章 项目10:DIY街机游戏
1.问题 "Self-Defense Against Fresh Fruit":军士长指挥自己的士兵使用自我防御战术对抗以石榴.芒果.青梅和香蕉等新鲜水果入侵者.防御战术包括使用枪 ...
- 浅谈 WPF控件
首先我们必须知道在WPF中,控件通常被描述为和用户交互的元素,也就是能够接收焦点并响应键盘.鼠标输入的元素.我们可以把控件想象成一个容器,容器里装的东西就是它的内容.控件的内容可以是数据,也可以是控件 ...
- ArcGIS For JavaScript API 默认参数
“esri.config”的是在1.3版中的的“esriConfig”的替代品.如果您使用的是1.2或更低的版本,您应该参阅默认API v1.2和更低的配置.对于版本1.3或更高版本,您可以使用“es ...
- 转:一份基础的嵌入式Linux工程师笔试题
一. 填空题: 1. 一些Linux命令,显示文件,拷贝,删除 Ls cp rm 2. do……while和while……do有什么区别? 3. Linux系统下.ko文件是什么文件?.so文件是什么 ...
- css 动画效果
要搞就搞明白,一知半解时停止研究 损失最大 css3意义: CSS3 动画 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片.Flash 动画以及 JavaScript. 重点 ...
- IOS开发经验分享
一些IOS开发的心得: 1) [Multiple Threads] IOS多线程注意, 所有的UI操作都必须在主线程上: Any code that will update the UI should ...
- 自定义控件(模仿微信ToggleButton控件)
弄过android开发的都知道,系统有一个默认的ToggleButton,但很多人都觉得他很难看,当然也包括我.如果你感觉他不难看,那你就继续使用系统的吧,这篇文章对你来说是多余的了. 今天来写一个模 ...
- Qt websocket协议的实现
handshake(握手) client请求: GET /chat HTTP/1.1 Host: server.example.com Upgrade: ...
- SQL Server备份事务日志结尾(Tail)
原文:http://blog.csdn.net/tjvictor/article/details/5256906 事务日志结尾经常提交数据库未备份的事务日志内容.基本上,每一次你执行事务日志备份时 ...