iBatis中的重要接口SqlMapClient

SqlMapClient,是iBatis中的重要接口,这个接口涉及到对SQL映射的执行和批处理。

现在,就先了解它的对query开头方法的定义。

首先是 queryForList 方法:

Java代码 复制代码 收藏代码
  1. //指定SQL的ID,执行的结果返回List 
  2. queryForList(java.lang.String id) ; 
  3.  
  4. //指定SQL的ID,并指定返回的行数 
  5. queryForList(java.lang.String id, int skip, int max) ; 
  6.  
  7. //指定SQL的ID,并指定传入参数 
  8. queryForList(java.lang.String id, java.lang.Object parameterObject) ; 
  9.  
  10. //指定SQL的ID,并指定传入参数,再指定返回的行数 
  11. queryForList(java.lang.String id, java.lang.Object parameterObject, int skip, int max) ; 
//指定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 方法:

Java代码 复制代码 收藏代码
  1. //执行SQL的ID,并把结果中的某一字段作为map的key 
  2. queryForMap(java.lang.String id, java.lang.Object parameterObject, java.lang.String keyProp) ; 
  3.  
  4. //同上,并且map中的value是指定的字段,而不是整个返回对象 
  5. queryForMap(java.lang.String id, java.lang.Object parameterObject, java.lang.String keyProp, java.lang.String valueProp) ; 
//执行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 方法:

Java代码 复制代码 收藏代码
  1. //执行指定的SQL ID,并返回一个对象,如果查询出的函数过多,会有异常SQLException抛出 
  2. queryForObject(java.lang.String id) ; 
  3.  
  4. //同上,并加上了传递的参数 
  5. queryForObject(java.lang.String id, java.lang.Object parameterObject) ; 
  6.  
  7. //同上,并执行的返回对象的引用 
  8. queryForObject(java.lang.String id, java.lang.Object parameterObject, java.lang.Object resultObject) ; 
//执行指定的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 也就是不赞成使用这个方法了

Java代码 复制代码 收藏代码
  1. //这两个方法返回的是 PaginatedList 接口。 
  2.  
  3. //指定查询的SQL ID,并且规定了每页的数量  
  4. queryForPaginatedList(java.lang.String id, int pageSize) ; 
  5.  
  6. //同上,并且加上了指定的传参 
  7. queryForPaginatedList(java.lang.String id, java.lang.Object parameterObject, int pageSize) ; 
//这两个方法返回的是 PaginatedList 接口。

//指定查询的SQL ID,并且规定了每页的数量 
queryForPaginatedList(java.lang.String id, int pageSize) ;

//同上,并且加上了指定的传参
queryForPaginatedList(java.lang.String id, java.lang.Object parameterObject, int pageSize) ;

最后一个,那就是 queryWithRowHandler,对查询的每一个结果进行处理:

Java代码 复制代码 收藏代码
  1. //指定SQL id ,指定传参,并指定处理器 
  2. queryWithRowHandler(java.lang.String id, java.lang.Object parameterObject, RowHandler rowHandler) ; 
  3.  
  4. //指定SQL id,指定处理器 
  5. queryWithRowHandler(java.lang.String id, RowHandler rowHandler) ; 
//指定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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值