有时侯不想创建javabean,或者污染现有的javaBean对象,就需要返回Map类型的数据对象;
1)最简单的方法就是将查询到的字段,使用""进行引起来,这样就可以返回map类型了;
2)或者写成ResultMap,来进行字段的映射也是可以的;
例子如下:
<select id="queryProductInfo" parameterClass="java.util.HashMap" resultClass="java.util.HashMap"> select a.marketproduct_code "productCode",
a.marketproduct_name "productName", a.product_class "productClass", (select t.value_chinese_name from product_base_data t where t.collection_code = 'CPDL' and t.value_code = a.product_class) "productClassName",
a.is_combined "isCombined", a.combind_relation "packageType", a.IS_SELF_CARD "isSelfCard", (select decode(count(1), 0, '0', '1') from package_info t1 where t1.id_marketproduct_info = a.id_marketproduct_info) "hasPackage", a.is_self_card "productKind", a.marketproduct_type "productType", b.least_copy_num "leastInusureAmout",
b.top_copy_num "topInsureAmout", b.insure_period_lmt_of_mon "periodSetMonth", b.insure_period_lmt_of_day "periodSetDay", b.least_accept_insure_age "leastAcceptInusrAge", b.top_accept_insure_age "topAcceptInsurAge", a.target_type "targetType", b.PROFESSION_TYPE "professionType", b.SPECIAL_PROMISE "specialPromise", a.version "version"
from marketproduct_info a,marketproduct_rule_param b, technic_product_info c where a.marketproduct_code = #marketproductCode# and a.version = #version# and a.id_marketproduct_info = b.id_marketproduct_info(+) and a.id_technic_product_info = c.id_technic_product_info </select>
<resultMap id="getItemsResult" class="java.util.HashMap"> <result property="itemName" column="item_name" /> <result property="itemValue" column="item_value" /> </resultMap> <select id="getItems" resultMap="getItemsResult"> select item_name, item_value from item_table </select>