DBUtils这个东西。看了一下,使用方便,上手很快,是个不错的东西。

一、使用示例
Java代码
package com.exam.test;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import junit.framework.TestCase;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayHandler;
import org.apache.commons.dbutils.handlers.ArrayListHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.ColumnListHandler;
import org.apache.commons.dbutils.handlers.MapHandler;
import org.apache.commons.dbutils.handlers.MapListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import com.exam.db.DbManager;
import com.exam.util.BasicRowProcessorEx;

public class TestSomething extends TestCase {
public void testDBUtilSelect() {
Connection conn = DbManager.getInstance().getConnection();

QueryRunner queryRunner = new QueryRunner();

try {
// 返回单行记录,使用Map
System.out.println("使用Map处理单行记录!");
Map<String, Object> map = queryRunner.query(conn,
"select * from tab where rownum=1", new MapHandler(),
(Object[]) null);

for (Iterator<Entry<String, Object>> i = map.entrySet().iterator(); i
.hasNext()😉 {
Entry<String, Object> e = i.next();
System.out.println(e.getKey() + "=" + e.getValue());
}

System.out.println("处理多行记录!");
List<Map<String, Object>> list = queryRunner.query(conn,
"select * from tab where rownum<=3", new MapListHandler(),
(Object[]) null);

for (Iterator<Map<String, Object>> li = list.iterator(); li
.hasNext()😉 {
System.out.println("--------------");
Map<String, Object> m = li.next();
for (Iterator<Entry<String, Object>> mi = m.entrySet()
.iterator(); mi.hasNext()😉 {
Entry<String, Object> e = mi.next();
System.out.println(e.getKey() + "=" + e.getValue());
}
}

System.out.println("使用Bean处理单行记录!");

// com.exam.test.TestSomething.Tab
Tab tab = queryRunner.query(conn,
"select tname from tab where rownum=1",
new BeanHandler(Tab.class));
System.out.println("tname=" + tab.getTname());
System.out.println("tabtype=" + tab.getTabtype());

System.out.println("使用Array处理单行记录!");
Object[] array = queryRunner.query(conn,
"select * from tab where rownum=1", new ArrayHandler());

for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}

System.out.println("使用Array处理多行记录!");
List<Object[]> arraylist = queryRunner
.query(conn, "select * from tab where rownum<=3",
new ArrayListHandler());

for (Iterator<Object[]> itr = arraylist.iterator(); itr.hasNext()😉 {
Object[] a = itr.next();
System.out.println("--------------");
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);

}
}

System.out.println("使用ColumnListHandler处理单行记录,返回其中指定的一列!");
List

posted on 2016-09-01 13:59  cyy_13  阅读(921)  评论(0)    收藏  举报