论坛首页 Java企业应用论坛

【myBatis】中select方法如何使用?返回值为void。

浏览 5860 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-11-28   最后修改:2011-11-28
void org.apache.ibatis.session.SqlSession.select(String arg0, ResultHandler arg1)

void org.apache.ibatis.session.SqlSession.select(String arg0, Object arg1, ResultHandler arg2)

对上面这两个方法有两个疑问:
1、返回值都为空,查询后的结果怎么用呢?
2、ResultHandler 这个接口怎么去实现,有什么作用呢。

在网上查了下 现在还是没有明白。


   发表时间:2011-11-28  
官方有文档:
ResultHandler  参数允许你按你喜欢的方式处理每一行。你可以将它添加到List                       中,创

建Map,Set 或抛出每个结果而不是只保留总计。你可以使用ResultHandler 做很多漂亮的事,
那就是MyBatis  内部创建结果集列表。

实现方式:
package org.mybatis.executor.result;

    public interface ResultHandler {

        void handleResult(ResultContext context);

    }


注意区分ResultHandle与ResultSetHandle区别,一个是用于产生List,Map,一个用于插件扩展。


具体怎么整,我现在也在研究当中。。。。。
0 请登录后投票
   发表时间:2011-12-12  
回调函数的用法,最简单的这样写就可以
final List list = new ArrayList();
sqlSession.select("selectByName", new ResultHandler(){
	@Override
	public void handleResult(ResultContext context) {
		list.add(context.getResultObject());				
	}			
});
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics