Ibatis获取xml数据查询

本文介绍如何配置Ibatis的sqlMap以读取XML数据,并通过自定义的RowHandler类处理查询结果,将User对象转换为XML字符串。在示例中,展示了如何定义SQL映射文件,创建RowHandler实现类以及在DAO类中调用查询方法将数据转化为XML格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sqlxml配置:

?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMap     
    PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"     
    "http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap>
<typeAlias alias="user" type="com.tr.mysql.Person"/>
<select id="getAllUser" resultClass="user"  >
select * from tbperson
</select>

 

RowHander类:

/**
 *
 */
package com.tr.mysql;

import java.io.Serializable;

import com.ibatis.sqlmap.client.event.RowHandler;

/**
 * @author Administrator
 *
 */
public class XmlHandler implements RowHandler, Serializable {

 /* (non-Javadoc)
  * @see com.ibatis.sqlmap.client.event.RowHandler#handleRow(java.lang.Object)
  */
 private StringBuffer stringBuffer = new StringBuffer("<persons>");
 
 @Override
 public void handleRow(Object o) {
  // TODO Auto-generated method stub
  
  Person person = (Person)o;
   stringBuffer.append("<person>");
  stringBuffer.append("<id>"+person.getId()+"</id>");
  stringBuffer.append("<name>"+person.getName()+"</name>");
  stringBuffer.append("<age>"+person.getAge()+"</age>");
  stringBuffer.append("<birthday>"+person.getBirthday().toString()+"</birthday>");
  stringBuffer.append("</person>");
  

 }

 public String getStringBuffer() {
  stringBuffer.append("</persons>");
  return stringBuffer.toString();
 }

}

 

dao类:

 XmlHandler xmlHandler = new XmlHandler();
     sqlMapClient.queryWithRowHandler("getAllUser", xmlHandler);
     System.out.println(xmlHandler.getStringBuffer());

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值