`
ysen
  • 浏览: 119655 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ibatis 使用介绍03

阅读更多

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

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

 <resultMap class="com.ysen.ibatis.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的数据
		}


 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics