数据库的数据池连接

来源:互联网 发布:lp反重力精华淘宝假货 编辑:程序博客网 时间:2024/06/07 17:43
首先,在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中。
0 0
原创粉丝点击