您的位置:首页 > 编程语言 > Java开发

ibatis java.util.Map作为parameterClass和resultClass(转)

2014-03-17 11:21 477 查看

1.Map作为parameterClass

映射文件:

Xml代码

<!--use Map type as parameterClass-->

<
select
id = "getProduct-Map"
parameterClass
= "java.util.Map"
resultMap =
"get-product-result" >

<![CDATA[
select * from t_product

where prd_id=#id# and prd_description=#description#

]]>

</
select >

Xml代码

<!--use Map type as parameterClass-->

<select id="getProduct-Map" parameterClass="java.util.Map" resultMap="get-product-result">

<![CDATA[

select * from t_product

where prd_id=#id# and prd_description=#description#

]]>

</select>

<!--use Map type as parameterClass--> <select id="getProduct-Map" parameterClass="java.util.Map" resultMap="get-product-result"> <![CDATA[ select * from t_product where prd_id=#id# and prd_description=#description# ]]> </select>

DAO层:

Java代码

public Product getProductMap(Map map)
throws SQLException {
init();

Product product = (Product)sqlMapClient.queryForObject(
"getProduct-Map" , map);
return
product;
}

Java代码

public Product getProductMap(Map map) throws SQLException {

init();

Product product = (Product)sqlMapClient.queryForObject("getProduct-Map", map);

return product;

}

public Product getProductMap(Map map) throws SQLException { init(); Product product = (Product)sqlMapClient.queryForObject("getProduct-Map", map); return product; }

Test类:

Java代码

public void getProductMap()
throws SQLException{
Map map =
new HashMap();
map.put( "id"
, new Integer( 1
));
map.put( "description"
, "basketball" );
Product product = productDao.getProductMap(map);

System.out.println(product);

}

Java代码

public void getProductMap() throws SQLException{

Map map = new HashMap();

map.put("id", new Integer(1));

map.put("description", "basketball");

Product product = productDao.getProductMap(map);

System.out.println(product);

}

结果:

class java.util.HashMap

{prd_id=1, prd_price=206.99, prd_description=basketball}

class java.util.HashMap

{prd_id=2, prd_price=106.99, prd_description=football}

class java.util.HashMap

{price=206.99, description=basketball, id=1}

class java.util.HashMap

{price=106.99, description=football, id=2}

注意: Map作为resultClass时,必须指定具体的实现类,比如java.util.HashMap,否则会报错

Caused by: java.lang.RuntimeException: JavaBeansDataExchange could not instantiate result class. Cause: java.lang.InstantiationException: java.util.Map
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: