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