java commons_java : commons-beanutils DynaBean

原文:百度文库:利用 Commons组件 beanutils、dbutils简化JDBC数据库操作

BeanutilsJDBCTest.java

package test;

import java.io.*;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.Statement;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.util.Iterator;

import java.util.Properties;

import org.apache.commons.beanutils.DynaBean;

import org.apache.commons.beanutils.PropertyUtils;

import org.apache.commons.beanutils.ResultSetDynaClass;

public class BeanutilsJDBCTest {

//

public static Connection getConnection() throws SQLException, IOException

{

Connection con = null;

try {

Properties props = new Properties();

FileInputStream in = new FileInputStream("database.properties");

props.load(in);

in.close();

String driver = props.getProperty("driver");

String url = props.getProperty("url");

String username = props.getProperty("username");

String password = props.getProperty("password");

Class.forName(driver);

con = DriverManager.getConnection(url, username, password);

} catch (IOException ex) {

ex.printStackTrace();

} catch (SQLException se) {

se.printStackTrace();

} catch (ClassNotFoundException ce) {

ce.printStackTrace();

}

return con;

}

//

public static void main(String[] args) {

String sh =null;

if (args.length ==1){

sh = args[0];

} else {

System.out.println(" usage: java -cp %JAR%;. test.BeanutilsJDBCTest 44 ");

return;

}

if (sh.length() >2) return;

long startTime = System.currentTimeMillis();

Connection con = null;

Statement st = null;

ResultSet rs = null;

ResultSetMetaData rsmd = null;

try {

con = getConnection();

st = con.createStatement();

String sql = "select * from table1 where code like '"+sh+"%';";

rs = st.executeQuery(sql);

rsmd = rs.getMetaData();

int count = rsmd.getColumnCount(); // 取列数

String[] columns = new String[count]; // 列名数组

for(int i=1; i<=count; i++){

columns[i-1] = rsmd.getColumnName(i);

}

// 打印表头,中文列名

System.out.println("编码\t中文地名");

StringBuffer buf = new StringBuffer();

// 输出结果集

ResultSetDynaClass rsdc = new ResultSetDynaClass(rs);

Iterator itr = rsdc.iterator();

while (itr.hasNext()) {

DynaBean dBean = (DynaBean) itr.next();

for (String column : columns){

buf.append(PropertyUtils.getSimpleProperty(dBean, column)+"\t");

}

buf.append("\r\n");

}

System.out.println(buf.toString());

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if (rs != null) { rs.close();}

if (st != null) { st.close();}

if (con != null) { con.close();}

} catch (Exception e) {

e.printStackTrace();

}

}

long endTime = System.currentTimeMillis();

System.out.println(" Time: "+(endTime-startTime)+" ms");

}

}

set JAR=mysql-connector-java-5.1.24-bin.jar

set JAR=%JAR%;commons-beanutils-1.9.3.jar;commons-logging-1.2.jar

javac -cp %JAR% -d . -encoding gbk BeanutilsJDBCTest.java

java -cp %JAR%;. test.BeanutilsJDBCTest 44

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值