Ibatis--SqlMapClient对象使用及事务(二)

如何将查询结果映射到不同的对象?(resultClass的使用)

package com.ibatis.model;

publicclassOtherObject {

    privateintid;

    private String prop1;

    private String prop2;

   

    publicint getId() {

       returnid;

    }

    publicvoid setId(int id) {

       this.id = id;

    }

    public String getProp1() {

       return Prop1;

    }

    publicvoid set Prop1 (String Prop1) {

       this. Prop1 = Prop1;

    }

    public String getProp2() {

       returnusername;

    }

    publicvoid setProp2 (String Prop2) {

       this.Prop2 = Prop2;

    }

}

<select id="selectUserForOtherObject" resultClass="com. ibatis.OtherObject" parameterClass="int">

   select

   username as prop1,

   password as prop2

   from t_user where id=#value#

</select>

       //查找t_user表,将其结果映射到一个属性名不同的对象中!

       OtherObject obj = (OtherObject)sqlMapper.queryForObject("selectUserForOtherObject", 1);

       System.out.println(obj.getProp1()+","+obj.getProp2());

如何将查询结果集映射到不同的对象?(resultMap的基本使用)

<resultMap class="com.ibatis.model.OtherObject" id="ooResult">

  <result property="prop1" column="username"/>

  <result property="prop2" column="password"/>

</resultMap>

<!--

如果使用resultMap来定义如何映射,则如下语句不可写成:

select username as prop1,password as prop2 ....

-->

<select id="selectUserForOtherObject2" parameterClass="int" resultMap="ooResult">

       select

       username,

       password

       from t_user where id=#value#

</select>

       //查找t_user表,将其结果映射到一个属性名不同的对象中!

       OtherObject obj = (OtherObject)sqlMapper.queryForObject("selectUserForOtherObject2", 17);

       System.out.println(obj.getProp1()+","+obj.getProp2());

如何将查询结果集映射为xml格式的数据?

<select id="selectXmlData" resultClass="xml" xmlResultName="User" parameterClass="int">

   select * from t_user where id=#value#

</select>

<select id="selectXmlDatas" resultClass="xml" xmlResultName="User">

   select * from t_user

</select>

       //查找t_user表,将其结果映射到xml

       //返回值是xml形式的字符串

       Object obj = (Object)sqlMapper.queryForObject("selectXmlData", 1);

       System.out.println(obj);

       //查找t_user表,将其结果映射到xml

       List list = (List)sqlMapper.queryForList("selectXmlDatas");

       System.out.println(list);

如何用Map类型的对象作为传入参数?

<!--

这里,可以使用全路径类名,如:

java.util.Map

java.util.HashMap

java.util.TreeMap

map

-->

<insert id="insertUser" parameterClass="map">

   insert into t_user values (

       null,#username#,#password#

   )

</insert>

       Map user = new TreeMap();

       user.put("username", "Map用户");

       user.put("password", "Map用户密码");

       sqlMapper.insert("insertUser",user);

如何将查询结果集的元素转换为Map类型的对象?

<!--

resultClass可以定义为java.util.HashMap类型,

将能自动转换

-->

<select id="selectMapUsers" resultClass="java.util.HashMap">

   select * from t_user

</select>

       List list = (List)sqlMapper.queryForList("selectMapUsers");

       System.out.println(list);

       for (Iterator iter = list.iterator(); iter.hasNext();) {

           Map map = (Map) iter.next();

           //可在此输出map的数据

       }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值