数据库的数据池连接

首先,在web应用的META-INF下新建context.xml文件,配置数据源。
context.xml的语法格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
 <Resource name="DBpool"
 type="javax.sql.DataSource"
 auth="Container"
 driverClassName="com.mysql.jdbc.Driver"
 url="jdbc:mysql://localhost:3306/taobao"
 username="root"
 password="123456"
 maxActive="5"
 maxIdle="2"
 maxWait="6000"
 />
</Context>

 

 

name                    设置数据源的JNDI名

type                     设置数据源的类型

auth                    设置数据源的管理者,有两个可选值

                        Container和Application,

                        Container表示由容器来创建和

                        管理数据源,Application表示由Web

                        应用程序来创建和管理数据源。

driverClassName                设置连接数据库的JDBC驱动程序
url                             设置连接数据库的路径名
username                       设置连接数据库的用户名
password                       设置连接数据库的密码
maxActive                       设置连接池中处于活动状态的数据库连接的最大数目,0表示不受限制
maxIdle                        设置连接池中处于空闲状态的数据库连接的最大数目,0表示不受限制
maxWait                        设置当连接池中没有处于空闲状态的连接时,请求数据库连接所需的最长等待时间(单位ms),如果超出该时间将抛出异常,-1表示无限制等待。
 
然后,用JNDI 访问数据库连接池。

package database;

import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;

import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource;

public class DataBase {   private Connection c ;   private Statement s ;   public DataBase() throws SQLException   {    try{     Context ctx = new InitialContext();     ctx = (Context)ctx.lookup("java:comp/env");     DataSource ds = (DataSource)ctx.lookup("DBpool");     c = ds.getConnection();     System.out.println("ttttttttttttttttt");    }    catch(NamingException e)    {     e.printStackTrace();    }    s = c.createStatement();    System.out.println("数据库连接成功!");   } public Connection getC() {  return c; } public void setC(Connection c) {  this.c = c; } public Statement getS() {  return s; } public void setS(Statement s) {  this.s = s; } public ResultSet getResult(String sql) throws SQLException{     return s.executeQuery(sql); }   public int upData(String sql) throws SQLException   {    System.out.println("更新用户数据!");    return s.executeUpdate(sql);   }     public void close() throws SQLException{      s.close();   c.close();  } }

数据池连接时,驱动程序要导入到tomcat中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值