java连接池代码实现 java数据连接池工作机制

怎么在JAVA中创建一个数据库连接池?求实例代码

用c3po来创建数据库连接池,

创新互联公司:于2013年创立为各行业开拓出企业自己的“网站建设”服务,为近千家公司企业提供了专业的成都网站设计、成都做网站、网页设计和网站推广服务, 按需求定制制作由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。

1.到网络上下载c3p0-0.9.0.4.jar包,导入工程;(注意以下方法只能用于web服务).

2.找出web服务器中conf目录下的centent.xml,在里面加上以下配置

Resource auth="Container"

description="DB Connection"

driverClass="com.mysql.jdbc.Driver"

maxPoolSize="4"

minPoolSize="2"

acquireIncrement="1"

name="jdbc/TestDB"

user="root"

password="root"

factory="org.apache.naming.factory.BeanFactory"

type="com.mchange.v2.c3p0.ComboPooledDataSource"

jdbcUrl="jdbc:mysql://localhost:3306/自己的数据库名?autoReconnect=true" /

3.java获取连接池的代码;

import java.sql.Connection;

import java.sql.SQLException;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.sql.DataSource;

public class DBUtils {

static InitialContext ic;

static DataSource ds;

static{

try {

ic = new InitialContext();

ds = (DataSource)ic.lookup("java:comp/env/jdbc/TestDB");

} catch (NamingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static Connection getCon() {

try {

return ds.getConnection();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

return null;

}

}

}

通过以上代码,即可获取连接池中的连接.

java中建立数据库连接池,有哪几个步骤

配置包括3步:1.让tomcat容器启动创建数据库连接池2.在某个项目中关联数据库连接池,3.取得数据库连接池并使用。使用包括,当拿到数据库连接后,可以通过2种方式来使用,1.使用jstl的标签,2.封装成返回connection的方法。

1.让tomcat容器启动创建数据库连接池:

配置的地方很多,根据不同的需求配置在不同的位置,但原理就一个,就是要配置一个Context标签下有一个resource标签。

a.在Tomcat 6.0\conf\Catalina\localhost目录下新建一个跟项目名一样的*.xml文件

b.数据源设置的名字(JNDI) auth:表示数据源由谁管理,这儿是tomcat容器本身 type:类型

c.驱动设置,该驱动放在tomcat的lib下或者放在该站点的lib下设置连接数据库字符串,url设置连接数据库的用户名设置数据库连接的密码--

2.在某个项目中关联数据库连接池,在web.xml添加代码:

!--关联jndi数据库连接池 --

3.使用jstl标签测试数据源是否配置成功

4.在jsp中通过java代码测试:

5.封装成bean对外提供得到数据库连接池连接的方式:

请问那位可以给个用纯java实现数据库连接池的代码

DataSource ds=null;

Connection con=null;

PreparedStatement ps=null;

ResultSet rs=null;

String username=null;

try{

//实现数据连接池

Context ctx=new InitialContext();

ds=(DataSource)ctx.lookup("java:comp/env/jdbc/userInfo");

}catch(NamingException ne){ne.printStackTrace();}

try{

con=ds.getConnection();

String sql="select * from guestbook order by gst_time desc";

st=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_READ_ONLY);

rs=st.executeQuery(sql);

。。。。。。

。。。

}

在这段代码中

Context ctx=new InitialContext();

ds=(DataSource)ctx.lookup("java:comp/env/jdbc/userInfo");就是连接池代码。

它是读取配置文件(Context.xml)中数据的。

以下是配置文件:

Context path="/WebModule1" docBase="E:\Home\WebModule1" reloadable="true"

Resource name="jdbc/userInfo" auth="Container" type="javax.sql.DataSource"

maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="bye0406"

driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

url="jdbc:microsoft:sqlserver://localhost:1433;databasename=userInfo" /

/Context

path和docBase中的路径根据自己需要配置路径。该路径是WEB应用程序的路径。driverClassName和url是连接数据库的驱动类和连接的URL,是根据你使用的哪种数据库而定。

以下是四种数据库的配制驱动:

驱动

SQL Server 2000

类名:com.microsoft.jdbc.sqlserver.SQLServerDriver

URL:jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs

Oracle

类名:oracle.jdbc.driver.OracleDriver

URL:jdbc:oracle:thin:@localhost:152:ORCL

Mysql

类名:com.mysql.jdbc.Driver

URL:jdbc:mysql://localhost:3306/databasename

JDBC-ODBC

类名:sun.jdbc.odbc.JdbcOdbcDriver

URL:jdbc:odbc:datasource_name;

如何用java实现基于JedisCluster对象的连接池

基于redis集群的java小demo,用于从hadoop中读取文件,然后写入redis集群,但是单个JedisCluster连接在生产中不够效率,不知道哪位大神能给点基于JedisCluster的连接池示例?

下面是我的一点代码

`static {

URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());

}

public static void main(String[] args) throws Exception {

writeRedis("hdfs://mycluster/test/test.txt",new int[]{0});

//writeRedis(initConfig());

}

public static void writeRedis(String inpath, int[] keyIndex) throws Exception {

InputStream in = new URL(inpath).openStream();// 输入流 ]

LineIterator br = org.apache.commons.io.IOUtils.lineIterator(in, "utf8");// 指定输入流与字符编码

JedisCluster cluster = RedisUtils.getClusterConn();

String[] line = null;

while (br.hasNext()) {

String s = br.next();

line = RedisUtils.split(s);

String key = "";

for (int i = 0; i keyIndex.length; i++) {

key += line[keyIndex[i]];// TODO:如果有必要,添加分隔符

}

cluster.setnx(key, s);

}

RedisUtils.clusterClose(cluster);

}`


本文题目:java连接池代码实现 java数据连接池工作机制
URL分享:http://scyanting.com/article/hhhpos.html