`
victor1017
  • 浏览: 3542 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类

iBatis中select的结果可否不指定具体的class存放记录,而使用Map

阅读更多
请问iBatis在处理查询结果时,能否像commons-dbutils里面的ResultSetHandler rsh = new MapListHandler()一样,返回的查询结果中, 每条记录是根据select的列生成的一个Map,而不是要预先定义一个class A,然后将每条记录放到一个A的实例中。
分享到:
评论
10 楼 davexin 2007-06-05  
iBatis2.3支持,并且改善了性能
9 楼 dovecat 2007-05-10  
看了以后,有一拳打空的感觉.MS是哪位曾经描述过这个感觉来着...
8 楼 ddandyy 2007-05-09  


copy上来的时候顺手了  没注意
7 楼 victor1017 2007-05-09  
ddandyy 写道
<select id="ttt" parameterClass="java.util.HashMap">



改成<select id="ttt" resultClass="java.util.HashMap">就可以了,非常感谢。
6 楼 victor1017 2007-05-09  
抛出异常的爱 写道
select a,b,c from tab_d;
引用

a   b   c
1   2   3
4   5   6

map :
引用

a,1
b,2
c,3
a,4
b,5
c,6


你完全误会我的意思了。这个我当然知道,我是想问iBatis的查询能不能不依赖于特定的Bean(必须指定resultClass之类的),而直接将结果转换为map型的。
5 楼 ddandyy 2007-05-09  
<select id="ttt" parameterClass="java.util.HashMap">
4 楼 抛出异常的爱 2007-05-09  
select a,b,c from tab_d;
引用

a   b   c
1   2   3
4   5   6

map :
引用

a,1
b,2
c,3
a,4
b,5
c,6
3 楼 victor1017 2007-05-09  
抛出异常的爱 写道
想不出把两维表放进一维表中的方式?


什么意思??

在我的系统里,功能模块并不是程序员预先做好的,有的可能是用户自己配置生成,比如输入一条可执行的sql语句,以此作为新的模块的查询语句。这种时候我想查询结果使用map的形式比较好一点。
2 楼 抛出异常的爱 2007-05-09  
想不出把两维表放进一维表中的方式?
1 楼 victor1017 2007-05-09  
刚才又看了一下iBatis的文档,将查询结果直接映射为XML倒也可以满足我的需求,不过更希望能是Map型的。
还有,看到iBatis的文档介绍xmlResultName:
<select id="getPerson" parameterClass="int" resultClass="xml" xmlResultName="person">
    SELECT PER_ID as id, PER_FIRST_NAME as firstName, PER_LAST_NAME as lastName,
                 PER_BIRTH_DATE as birthDate, PER_WEIGHT_KG as weightInKilograms,
                 PER_HEIGHT_M as heightInMeters
       FROM PERSON
       WHERE PER_ID = #value#
</select>

上面的查询结果将产生一个XML document,结构如下:
<person>
  <id>1</id>
  <firstName>Clinton</firstName>
  <lastName>Begin</lastName>
  <birthDate>1900-01-01</birthDate>
  <weightInKilograms>89</weightInKilograms>
  <heightInMeters>1.77</heightInMeters>
</person>
但在java中如何写才能得到这个结构却没说,希望知道的人能讲讲,谢谢。

相关推荐

    ibatis的sql-map dtd

    在Ibatis中,`sql-map`和`sql-map-config`是两个重要的XML配置文件,它们使用DTD(Document Type Definition)来定义其结构和规则。 DTD是XML文档类型定义,它定义了XML文档的合法构建块,包括元素、属性、实体等,...

    ibatis 使用手册

    开发指南会深入讲解如何初始化iBatis环境,包括设置配置文件、创建SqlMap文件、设计Mapper接口以及如何在Java代码中使用这些组件。此外,还会介绍如何处理结果集、执行批量操作、使用缓存机制等高级特性。 **iBatis...

    ibatis 中sqlMap配置

    总结来说,iBatis中的SQLMap配置涉及到命名空间、别名、插入操作、主键获取、参数类型和结果映射等多个方面,理解和熟练掌握这些知识点对于高效地使用iBatis框架至关重要。通过合理的配置,可以有效地将Java代码与...

    ibatis入门与ibatis迭代的用法

    4. **动态SQL**:iBatis支持动态SQL,可以在XML中使用if、choose、when、otherwise等标签实现条件判断。 5. **使用SqlSession**:在Java代码中,通过SqlSessionFactory创建SqlSession对象,然后通过SqlSession执行...

    .net中使用iBATIS的小例子

    在.NET中使用iBATIS时,首先需要安装iBATIS.NET库。可以通过NuGet包管理器或者直接下载源码编译来获取。在VS2008项目中,添加对iBATIS.NET的引用,这样就可以开始配置和使用了。 接着,我们看压缩包内的"数据库.txt...

    解决IBatis缓存动态字段问题

    具体表现为:当第一次查询某个表时,IBatis会将查询结果中的字段名缓存起来;而在后续查询其他表时,如果这些表的字段与之前缓存的字段不一致,就会导致查询失败。 #### 问题分析 在IBatis框架中,`...

    ibatis实现结果集map封装(Demo下载)

    标题 "ibatis实现结果集map封装(Demo下载)" 指的是使用iBatis这个流行的Java持久层框架,将数据库查询结果集转换成Map对象的过程。这个过程在处理动态和复杂的查询时尤其有用,因为它允许开发者以键值对的形式灵活地...

    ibatis中iterate的例子

    在iBatis中,`&lt;iterate&gt;`标签是一个非常实用的功能,它允许我们处理集合数据,如数组、List或Map等,进行循环遍历并生成动态SQL语句。下面我们将详细探讨`&lt;iterate&gt;`标签的用法及其示例。 `&lt;iterate&gt;`标签的主要...

    iBATIS缓存的使用方法

    这意味着对于相同参数的查询结果将会从缓存中获取,而不是每次都查询数据库。 #### 总结 通过合理地配置缓存模型和选择合适的缓存控制器,可以显著提升iBATIS应用程序的性能。开发者可以根据具体的业务需求和数据...

    ibatis demo,ibatis例子,ibatis示例

    例如,使用`@Param`注解可以指定参数名,或者在XML中使用`#{paramName}`来引用参数。 6. **结果映射**:结果映射允许我们将查询结果自动映射到Java对象。Ibatis提供了多种方式来实现映射,如自动类型匹配、自定义...

    ibatis的使用教程

    - `&lt;select&gt;` 标签用于查询,其中包含 SQL 语句,并设置 `resultClass` 属性指定返回结果的类型。 - `&lt;insert&gt;` 标签用于插入数据,设置 `parameterClass` 指定输入参数类型。 - `&lt;update&gt;` 标签用于更新数据。 - `...

    ibatis官方中文文档

    对于那些想要了解或深入掌握iBATIS,特别是想在实际项目中使用iBATIS存储过程的开发者来说,这是一份非常宝贵的学习资料。 **iBATIS简介** iBATIS(现更名为MyBatis)是一个优秀的Java持久层框架,它简化了数据库...

    ibatis2.0中文API

    在映射文件中,我们可以定义`&lt;resultMap&gt;`来映射对象属性和字段,使用`&lt;id&gt;`、`&lt;result&gt;`等元素来指定主键和普通字段。此外,还可以使用`&lt;select&gt;`、`&lt;insert&gt;`、`&lt;update&gt;`和`&lt;delete&gt;`标签来定义SQL语句,它们可以...

    sql-map-2.dtd和sql-map-config-2.dtd

    在IT行业中,数据库操作是核心任务之一,而Ibatis作为一款优秀的Java持久层框架,极大地简化了数据库操作。本文将深入探讨与“sql-map-2.dtd”和“sql-map-config-2.dtd”相关的知识点,以及它们在Ibatis中的作用。 ...

    ibatis教程 输入参数详解

    部分内容:这段部分提供了ibatis用户指南的警告,关于从文档复制代码的问题,以及ibatis的概述、如何开始使用ibatis、构建SqlSessionFactory的方法(包括通过XML和不使用XML的方式)、获取SqlSession的过程、探索...

    ibatis中使用安全的拼接语句,动态查询,大于、小于、等于.doc

    iBatis 中使用安全的拼接语句、动态查询、大于、小于、等于 iBatis 是一个流行的持久层框架,提供了许多强大的功能来帮助开发者构建高效、安全的数据库交互应用程序。本文将详细介绍 iBatis 中使用安全的拼接语句、...

    ibatis SQL Map PPt

    **Ibatis SQL Map PPT 知识点详解** Ibatis,作为一个轻量级的Java持久层框架,以其灵活、易用的特点,在企业级应用中得到了广泛的应用。它将SQL语句与Java代码分离,提供了更直观的数据访问方式,极大地提高了开发...

    Ibatis资料ibatai sql map iBATIS使用$和#的一些理解

    在使用iBATIS(现已被MyBatis取代)进行数据库操作时,我们常常需要传递参数到SQL语句中。在iBATIS中,有两种主要的方式来处理这些参数:使用`$`和`#`。这两种方式在不同的场景下有不同的效果。 首先,让我们来看看...

    ibatis实现分页技术

    在对应的Mapper接口中,定义一个方法来执行这个SQL查询,并接收一个Map对象作为参数,Map中存放分页参数: ```java public interface YourMapper { List&lt;YourEntity&gt; selectByPage(Map, Object&gt; params); } ``` 3...

Global site tag (gtag.js) - Google Analytics