使用普通方式和连接池方式获取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在这个文件中定义的.
相关文章推荐
- Oracle 执行SQL一直卡死不动和“资源正忙,但指定以NOWAIT方式获取资源,或链接失效”的解决办法
- 使用c3p0与DBCP连接池,造成的MySql 8小时问题解决方式
- C# 使用OracleClient链接的新方式
- 使用Druid连接池,mysql,做定时批量操作时,获取不到连接
- PHP使用连接池提高性能(mysql不需要,Oracle连接速度很慢)
- 使用selenium的方式获取网页中图片的链接和网页的链接,来判断是否是死链(二)
- Navicat for MySQL 使用SSH方式链接远程数据库(二)
- Navicat for MySQL 使用SSH方式链接远程数据库
- nodeJs使用连接池链接mysql
- php根据二分查找法从普通csv文件中获取ip的地理位置(效率比使用mysql提高近800倍)
- Navicat for MySQL 使用SSH方式链接远程数据库
- 【MySQL】MySQL中链接查询inner join与left join使用
- oracle中nvl函数在mysql里面怎么使用
- JAVAWEB开发之事务详解(mysql与JDBC下使用方法、事务的特性、锁机制)和连接池的详细使用(dbcp以c3p0)
- 使用SQL_CALC_FOUND_ROWS获取mysql查询记录总数
- HttpClient 4 使用POST方式提交普通表单数据的例子
- oracle中获取普通用户密码及更改
- oracle如何使用dblink链接另一个数据库
- 使用MySQL connector/C++链接MySQL数据库