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();
}
}