示例:连接、查询、处理结果集

这一节将整合前面的例子,给出一个完整的例子,便于用户参考。

package com.sun.cts.tests.jdbc.help_doc.ru_men;

import static org.junit.Assert.fail;

import java.io.File;
import java.io.FileInputStream;
/******************************************
 *这个例子演示连接,查询,处理结果集
 ******************************************/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import org.junit.Test;

import com.oscar.jdbc.OscarJdbc2Connection;

public class JDBCTest {

	private Connection con;
	public String DBUSER = "";
	public String DBPASSWD = "";
	public String DBURL="";
	public String DBDRIVER="";

	public void init() {
		Properties prop = new Properties();
		try{
			FileInputStream in = new FileInputStream("."+File.separator+"testFile"+File.separator+"cts_env.properties");
			prop.load(in);
			in.close();
		}
		catch(Exception e){
			e.printStackTrace();
		}
		//从配置文件读取
		// DBUSER = "sysdba";
		DBUSER = prop.getProperty("DBUSER");
		// DBPASSWD = "szoscar55";
		DBPASSWD = prop.getProperty("DBPASSWD");
		// DBURL = "jdbc:oscar://localhost:2003/osrdb";
		DBURL = prop.getProperty("DBURL");
		// DBDRIVER = "com.oscar.Driver";
		DBDRIVER = prop.getProperty("DBDRIVER");
		try{
			Class.forName(DBDRIVER);
			con = DriverManager.getConnection(DBURL, DBUSER, DBPASSWD);
			((OscarJdbc2Connection)con).setClientEncoding("BIG5");
		}catch(Exception e){
			e.printStackTrace();
		}
	}

	@Test
	public void execute() {
		init();
		try {
			Statement stmt = con.createStatement();
			String sql;
			// 创建表
			sql = "CREATE TABLE TEMP"
					+ "(id INT not NULL,name varchar(255),PRIMARY KEY ( id ))";
			stmt.executeUpdate(sql);
			// 插入数据
			sql = "INSERT INTO TEMP VALUES(1,'于')";
			stmt.executeUpdate(sql);
			// 查询数据
			sql = "SELECT * FROM TEMP";
			ResultSet rs = stmt.executeQuery(sql);
			while (rs.next()) {
				//处理
				System.out.println(rs.getString(2));
			}
			//更新
			sql = "UPDATE TEMP SET NAME = 'shentong1' WHERE ID = 1";
			stmt.executeUpdate(sql);
			// 删除表
			sql="DROP TABLE TEMP ";
			stmt.executeUpdate(sql);
				
			rs.close();
			stmt.close();
			con.close();
		} catch (Exception e) {
			fail(e.getMessage());
		}

	}

	public static void main(String[] args) {
		new JDBCTest().execute();
	}
}