ibatis实现结果集map封装(Demo下载)

package com.ist;

import java.io.IOException;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.ibatis.sqlmap.client.SqlMapSession;
import com.ist.domain.Employee;

public class Test {

	public static void main(String[] args) throws SQLException {
		String resource = "SqlMapConfig.xml";
		Reader reader = null;
		try {
			reader = Resources.getResourceAsReader(resource);
		} catch (IOException e) {
			e.printStackTrace();
		}
		SqlMapClient client = SqlMapClientBuilder.buildSqlMapClient(reader);
		ArrayList list = (ArrayList) client.queryForList("getAllEmployee", null);
		
		StringBuffer sb1=new StringBuffer();
		StringBuffer sb2=new StringBuffer();
		Iterator it = list.iterator();
		while (it.hasNext()) {
			HashMap map = (HashMap) it.next(); //强转成HashMap哦
			Set set = map.keySet();
			Iterator setit=set.iterator();
			while(setit.hasNext()){
					String colname=(String) setit.next();
					sb1.append(colname+"\t");
					sb2.append(map.get(colname)+"\t");
			}
			System.out.println(sb1.toString());
			System.out.println(sb2.toString());
			sb1.setLength(0);
			sb2.setLength(0);
		}
	}
}
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<!-- resultClass 是HashMap -->
<sqlMap namespace="T12_category">
	<statement id="getAllEmployee" parameterClass="com.ist.domain.Employee" resultClass="java.util.HashMap">
		select deptno,comm,hiredate,mgr,sal,job,ename,empno from emp
		<dynamic prepend="where">
			<isNotEmpty property="eno">
				eno=#eno#
			</isNotEmpty>
		</dynamic>
	</statement>
</sqlMap> 

输出结果:

COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
null	20	1980-12-17 00:00:00.0	7902	800	SMITH	CLERK	7369	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
300	30	1981-02-20 00:00:00.0	7698	1600	ALLEN	SALESMAN	7499	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
500	30	1981-02-22 00:00:00.0	7698	1250	WARD	SALESMAN	7521	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
null	20	1981-04-02 00:00:00.0	7839	2975	JONES	MANAGER	7566	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
1400	30	1981-09-28 00:00:00.0	7698	1250	MARTIN	SALESMAN	7654	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
null	30	1981-05-01 00:00:00.0	7839	2850	BLAKE	MANAGER	7698	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
null	10	1981-06-09 00:00:00.0	7839	2450	CLARK	MANAGER	7782	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
null	20	1987-04-19 00:00:00.0	7566	3000	SCOTT	ANALYST	7788	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
null	10	1981-11-17 00:00:00.0	null	5000	KING	PRESIDENT	7839	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
0	30	1981-09-08 00:00:00.0	7698	1500	TURNER	SALESMAN	7844	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
null	20	1987-05-23 00:00:00.0	7788	1100	ADAMS	CLERK	7876	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
null	30	1981-12-03 00:00:00.0	7698	950	JAMES	CLERK	7900	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
null	20	1981-12-03 00:00:00.0	7566	3000	FORD	ANALYST	7902	
COMM	DEPTNO	HIREDATE	MGR	SAL	ENAME	JOB	EMPNO	
null	10	1982-01-23 00:00:00.0	7782	1300	MILLER	CLERK	7934	

猜你喜欢

转载自88548886.iteye.com/blog/1677088