放飞你的梦想--翱翔我的天空 | 会员登陆 | 繁體中文 | 站点地图 | 站长博客
 | 首页 | 文章中心 | IT 前沿 | 清怡画风 | 视频教程 | 资源下载 | 精彩图库 | 博客文赏 | 天空论坛 | 访客留言 | 音乐版 | 
    本站全新推出IT 前沿频道欢迎大家访问 地址 http://it.tkbbs.com  [风雪残士  2005年12月9日]            本站推出新浪VIVI收藏夹服务,欢迎使用  [风雪残士  2005年10月18日]        
您现在的位置: 翱翔翼站 >> 文章中心 >> 编程开发 >> 数据库 >> SQL、ACCESS >> 文章正文 今天是:
从此不再心头痛 数据库连接方法总结 【字体:
作 者:佚名 文章来源:网络 更新:2006-3-27 点击:






//1.注册jdbc驱动 方法有两个:-------------------------------------------------------------

以下是引用片段:
import java.lang.Class; //方法一
Class.forName("oracle.jdbc.OracleDriver"); //事实上不用引入
import java.sql.DriverManager; //方法二:
DriverManager.registerDriver(new Oracle.jdbc.OracleDriver());

//2.打开数据库连接,方法两个:-------------------------------------------------------------
以下是引用片段:
DriverManager.getConnection(URL,username,password); //方法一:
//例子:
Connection myConnection=DriverManager.getConnection(
"jdbc:oracle:thin@localhost:1521:myoracle",
"name",
"password");
import Oracle.jdbc.pool.OracleDataSource; //方法二:使用数据源
OracleDataSource myDataSource=new OracleDataSource(); //创建数据源
myDataSource.setServerName("localhost");
myDataSource.setDatabaseName("myOracle");
myDataSource.setDriverType("oci");
myDataSource.setNetworkProtocol("tcp"); //设置属性
myDataSource.setPortNumber(1521);
myDataSource.setUser("name");
myDataSource.setPassword("password");

//连接数据库,可以重新指定用户名和密码,以不同的身份连接查询;
以下是引用片段:
Connection myConnection=myDataSource.getConnection("username","password");

//3.创建jdbc Statement对象-------------------------------------------------------------------------
//可以禁止自动提交 myConnection.setAutoCommit(false);
Statement myStatement=myConnection.createStatement();
//4.从数据库取得信息,即使用statement对象
以下是引用片段:
ResultSet myResultSet=myStatement.executeQuery(
"select userid,username from table"); //取得所有的信息
String result=myResultSet.getString("userid"); //取得某项信息
if(myResultSet.wasNull()){
};
ResultSet.next();
myResultSet.close(); //关闭
//在这里提交 myConnection.commit();
//5.关闭jdbc对象-------------------------------------------------------------------------------
以下是引用片段:
myStatement.close();
myConnection.close();
/*一般采用如下格式:
finally{
if(myStatement!=null){
myStatement.close();}
if(myConnection!=null{
myConnection.close();}
}
*/
//6.使用jdbc preparedStatement对象-----------------------------------------------------
PreparedStatement myPrepStatement=myConnection.preparedStatement(
"insert into products"+
"(id,type_id,name) values ("+
"?,?,?"
")" //
);
myPrepStatement.setInt(1,100);
myPrepStatement.setInt(2,1100);
myPrepStatement.setString(3,"username"); //使用set方法
myPrepStatement.excute(); //提交
/*二,使用连接缓存和连接池来连接数据库
可以通过建立一个连接缓存,必要时向连接缓冲池添加连接。
*/
//首先讨论连接缓冲池------------------------------------------------------------------------
import javax.sql.*;
import oracle.jdbc.pool.*;
OracleConnectionPoolDataSource myOracle=mew OracleConnectionPoolDataSource();
//创建连接缓冲池数据源oracleConnectionPoolDataSource的对象
//实现了ConnectionPoolDataSource接口
//2.使用此对象设置物理数据库连接的属性
以下是引用片段:
myOracle.setServerName("localhost");
myOracle.setDatabaseName("myOracle");
myOracle.setPortNumber(1521);
myOracle.serDriverTupe("thin");
myOracle.setUser("user");
myOracle.setPassword("password");
//3.创建缓冲的连接对象,它代表物理数据库连接,可以使用它来请求数据库连接实例
PooledConnection myPooledConnection= myOracle.getPooledConnection();
//PooledConnection myPooledConnection= myOracle.getPooledConnection("user","password");
//建立一次连接,可以多次请求连接实例,最后再关闭连接对象
//4.请求、使用、和最终关闭连接实例
Connection myConnection=myPooledConnection.getConnection();
//使用
myconnection.close();
//5.程序结束之前,关闭PooledConnection对象
myPooledConnection.close();
/* 使用连接缓存---------------------------------------------------------------------------
*/
/*1.创建OracleConnectionCacheImpl的对象,他实现了OracleConnectionCacheClass接口
这个接口扩展了OracleDataSource类,可以使用这个类的所有属性和方法
创建的最简单的方法是使用默认的构造器*/
OracleConnectionCacheImpl myOCCI=new OracleConnectionCacheImpl();
myOCCI.setServerName("localhost");
myOCCI.setDatabaseName("myOracle");
myOCCI.setPortNumber(1521);
myOCCI.setDriverType("thin");
myOCCI.setUser("name");
myOCCI.setPassword("password");
//还可以使用现有的OraclePoolDataSource对象为它设置属性
//OracleConnectionCacheImpl myOCCI=new OracleConnectionCacheImpl(myOracle);
//或使用如下方法
//myOCCI.setConnectionPoolDataSource(myOracle);
//2.请求、使用和关闭连接实例
Connection myConnection=myOCCI.getConnection();
/*PooledConnection对象代表物理数据库连接,默认情况下,调用myOCCI.getConnection()方法时,
myocci检查缓存中是否存在Pooledconnection对象,没有就创建一个
然后,检查pooledconnection对象是否有空闲的连接实例,没有就创建
并返回PooledConnection对象的连接实例
*/
//在这里可以请求另一个连接实例
//Connection myConnection2=myOCCI.getConnection();
//关闭连接实例
myConnection.close();
//程序结束前,应该关闭OracleConnectionCacheImpl对象,同时也就关闭了所有PooledConnection对象
myOCCI.close();
/*使用OCI驱动程序实现连接缓冲池---------------------------------------------------------------
优点:可以动态配置物理连接数量
每个连接实例可以可以有不同的用户名密码,可以使用一个缓冲池访问不同的用户模式
能够有多个缓冲连接,THIN只有一个数据库连接
*/
OracleOCIConnectionPool myOOCP=new OracleOCIConnectionPool();
/* myOOCP.set……
……
……
*/
//以下可选的可以程序运行时动态设定的属性
/* 
以下是引用片段:
Properties myProperties=new Properties();
myProperties.put(OracleOCIConnectionPool.CONNPOOL_MIN_LIMIT,"5");
my …… .CONNPOOL_MAX_LIMIT,"10");
…………… _INCREMENT,"2");
_TIMEOUT,"30");
_NOWAIT,"true");
myOOCP.setPoolconfig(myProperties);
*/
//建立连接实例
OracleOCIConnection myConnection=(OracleOCIConnection)myOOCP.getConnection();
myConnection.close();
myOOCP.close();

文章录入:风雪残士    责任编辑:风雪残士 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    最新文章 TOP10
    最新热门 TOP10
    最新推荐TOP10
    翱翔翼站拥有本站所有版权! Copyright © 2005 - 2008 5-IT.COM
    本站维护 :风雪残士

    浙ICP备05039908号
    努力打造国内最全的电脑技术资料库