Apache的commons组件的dbutils包关于封装数据库处理的实例【这个稍微有用】

本文介绍如何利用dbutils包进行数据库查询和更新操作,包括使用不同类型的ResultSetHandler处理查询结果。

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

1

package com.commons.components.dbutils;

import java.util.*;
import java.util.logging.*;
import java.sql.*;
import org.apache.commons.dbutils.*;
import org.apache.commons.dbutils.handlers.*;

/**
 * 使用dbutils包类进行数据查询,更改。
 * @author chaigw
 *
 */
public class DbUtilsTest {

	public static void main(String[] args) throws Exception {
		DbUtilsTest test = new DbUtilsTest();

		for (int i = 0; i < 1; i++) {
//			test.testQuery1();
			test.testQuery2();
			test.testUpdate();
		}
	}

	public void testQuery1() {
		try {
			QueryRunner qr = new QueryRunner();
			ResultSetHandler rsh = new ArrayListHandler();
			String strsql = "select * from sc";
			ArrayList result = (ArrayList) qr.query(getConnection(), strsql,
					rsh);
		} catch (Exception ex) {
			ex.printStackTrace(System.out);
		}
	}

	public void testQuery2() {
		try {
			QueryRunner qr = new QueryRunner();
			ResultSetHandler rsh = new MapListHandler();
			String strsql = "select * from sc";
			ArrayList result = (ArrayList) qr.query(getConnection(), strsql,
					rsh);
			for (int i = 0; i < result.size(); i++) {
				Map map = (Map) result.get(i);
				 System.out.println(map);
			}
			// System.out.print("");
		} catch (Exception ex) {
			ex.printStackTrace(System.out);
		}
	}

	public void testUpdate() {
		try {
			QueryRunner qr = new QueryRunner();
			ResultSetHandler rsh = new ArrayListHandler();
			String strsql = "insert into student (name) values('"+"www"+"')";
			qr.update(getConnection(), strsql);
		} catch (Exception ex) {
			ex.printStackTrace(System.out);
		}
	}

	private Connection getConnection() throws InstantiationException,
			IllegalAccessException, ClassNotFoundException, SQLException {

		String strDriver = "com.mysql.jdbc.Driver";
		String strUrl = "jdbc:mysql://localhost:3306/exam";
		String strUser = "root";
		String strPass = "root";

		Class.forName(strDriver).newInstance();
		return DriverManager.getConnection(strUrl, strUser, strPass);
	}
}

2

{id=2, sid=1, grade=22.0, cid=3}
{id=5, sid=3, grade=64.0, cid=1}
{id=8, sid=3, grade=84.88, cid=5}
{id=9, sid=4, grade=87.88, cid=5}
{id=11, sid=4, grade=16.88, cid=3}
{id=12, sid=4, grade=38.0, cid=1}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静山晚风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值