您的位置:首页 > 数据库 > Oracle

使用普通方式和连接池方式获取Oracle和Mysql链接

2012-04-21 20:14 519 查看
数据库连接方式

package com.niit.gb.comm;

import java.sql.Connection;
import java.sql.DriverManager;

public class ManagerConn1 {
public static String user;
public static String password;
public static String url;
public static Connection conn;

public Connection init_mysql() {
try{
//初始化url,user,password
//url参数:"jdbc:数据库类型:主机IP/数据库名?用户名=&密码=&characterEncoding="
url="jdbc:mysql://192.168.2.102/users?user=user&password=niit&characterEncoding=utf-8";
//加载驱动
Class.forName("org.gjt.mm.mysql.Driver");
//建立连接
conn = DriverManager.getConnection(url);
}catch(Exception e){
System.out.println("数据库连接异常!");
e.printStackTrace();
}
return conn;
}

public Connection init_oracle() {
//获取oracle数据库的链接
//url="jdbc:数据库名:连接的方式:@主机Ip:端口号:数据库名称"
try{
//建立连接
url = "jdbc:oracle:thin:@127.0.0.1:1521:news";
user="scott";
password = "niit";
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, user, password);
}catch(Exception e){
System.out.println("数据库连接异常!");
e.printStackTrace();
}
return null;
}

}

利用容器本身自带的连接池:
连接oracle数据库
<Context reloadable=“true”>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name=“jdbc/oracleds” auth=“Container”
type=“javax.sql.DataSource”
maxActive=“100” maxIdle=“30” maxWait=“10000”
username=“scott” password=“tiger”
driverClassName=“oracle.jdbc.driver.OracleDriver”
url=“jdbc:oracle:thin:@localhost:1521:orcle”/>
</Context>

前台的页面可以通过这个方法获得连接池
public static Connection init_oracle_dataSource(){
try {
Context context = new InitialContext();
//获取数据源
DataSource ds = (DataSource) context.lookup("java:/comp/env/jdbc/oracleds");

//通过数据源获取connection
conn = ds.getConnection();
} catch (Exception e) {
log.debug("数据库连接异常",e);

}

return conn;
}

context.lookup("java:/comp/env/jdbc/oracleds");

这句话的意思是:去java目录下面的comp下面的env下面的

如果链接的是mysql数据库的话就这样:

<Context reloadable =“true”>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name=“jdbc/mysqlds” auth=“Container”
type=“javax.sql.DataSource”
maxActive=“100” maxIdle=“30” maxWait=“10000”
driverClassName=“org.gjt.mm.mysql.Driver”
url=“jdbc:mysql://192.168.2.19/news?user=user&password=niit&characterEncoding=utf-8”/>
</Context>

从前台获取连接的方式是一样的

只需要改变的就是context.lookup(“java:/comp/env/jdbc/mysqlds”);

当然最后的jdbc/mysqlds是由context.xml在这个文件中定义的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: