DataSource

应用程序可以使用DataSource来获得连接,然后通过这个连接来实现对数据库的访问操作。在使用DataSource之前,必须导入该DataSource所在的包:

import com.oscar.jdbcx.*; 包含了创建DataSource所需要的类

DataSource可以配置下列属性:

属性 类型 描述信息
serverName String 服务器地址
portNumber int 端口号
databaseName String 数据库名
user String 用户账号
password String 密码

下面给出一个使用DataSource进行数据库访问的示例。

package com.sun.cts.tests.jdbc.help_doc.shu_ju_yuan;
import static org.junit.Assert.fail;

import java.io.File;
import java.io.FileInputStream;
/**************************************************
 *这个例子演示使用DataSource进行数据库访问 
 **************************************************/
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.jdbcx.Jdbc3SimpleDataSource;

public class DataSourceTest {

	private Statement stmt;
	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 = prop.getProperty("DBUSER");
		DBPASSWD = prop.getProperty("DBPASSWD");
		DBURL = prop.getProperty("DBURL");
		DBDRIVER = prop.getProperty("DBDRIVER");

	}

	public void connect() {
		try {
			Jdbc3SimpleDataSource dataSource = new Jdbc3SimpleDataSource();
			// 设置数据源属性
			dataSource.setUrl(DBURL);
			dataSource.setUser(DBUSER);
			dataSource.setPassword(DBPASSWD);
			con = dataSource.getConnection();
		} catch (SQLException se) {
			fail(se.getMessage());
		}
	}

	@Test
	public void execute() {
		init();
		connect();
		try {
			stmt = con.createStatement();
			// 创建表
			String sql = "CREATE TABLE TEMP" + "(id INT not NULL, " + " name varchar(255), " + " PRIMARY KEY ( id ))";
			stmt.executeUpdate(sql);
			// 插入数据
			sql = "INSERT INTO TEMP VALUES(1,'shentong')";
			stmt.executeUpdate(sql);
			// 获取数据
			ResultSet rs = stmt.executeQuery("SELECT * FROM TEMP");
			while (rs.next()) {
				//处理
			}
			//删除表
			sql="DROP TABLE TEMP ";
			stmt.executeUpdate(sql);
			
			stmt.close();
			con.close();
		} catch (SQLException se) {
			fail(se.getMessage());
		}
	}

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

}