datasource 连接池(如何配置mysql数据库连接池)

本文目录
- 如何配置mysql数据库连接池
- Tomcat 的数据库连接池设置与应用
- java配置连接池时不能得到一个DataSource实例,高手请进!
- 连接池已经配置成功但是编译时提示lookup
错误怎么解决 - 数据库连接池的DataSource ds=(DataSource)ctx.lookup(ds)出错
如何配置mysql数据库连接池
使用org.springframework.jdbc.datasource.DriverManagerDataSource
说明:DriverManagerDataSource建立连接是只要有连接就新建一个connection,根本没有连接池的作用。
《bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"》
《property name="driverClassName"》《value》${jdbc.driverClassName}《/value》《/property》
《property name="url"》《value》${jdbc.url}《/value》《/property》
《property name="username"》《value》${jdbc.username}《/value》《/property》
《property name="password"》《value》${jdbc.password}《/value》《/property》
《/bean》
Tomcat 的数据库连接池设置与应用
.将数据库驱动程序的JAR文件放在Tomcat的 mon/lib 中 .在server xml中设置数据源 以MySQL数据库为例 如下 在《GlobalNamingResources》 《/GlobalNamingResources》节点中加入 《Resource name= jdbc/DBPool type= javax sql DataSource password= root driverClassName= mysql jdbc Driver maxIdle= maxWait= username= root url= jdbc:mysql:// : /test maxActive= /》 属性说明 name 数据源名称 通常取 jdbc/XXX 的格式 type javax sql DataSource ; password 数据库用户密码 driveClassName 数据库驱动 maxIdle 最大空闲数 数据库连接的最大空闲时间 超过空闲时间 数据库连 接将被标记为不可用 然后被释放 设为 表示无限制 MaxActive 连接池的最大数据库连接数 设为 表示无限制 maxWait 最大建立连接等待时间 如果超过此时间将接到异常 设为 表示 无限制 .在你的web应用程序的web xml中设置数据源参考 如下 在《web app》《/web app》节点中加入 《resource ref》 《description》MySQL DB Connection Pool《/description》 《res ref name》jdbc/DBPool《/res ref name》 《res type》javax sql DataSource《/res type》 《res auth》Container《/res auth》 《res sharing scope》Shareable《/res sharing scope》 《/resource ref》 子节点说明 description 描述信息 res ref name 参考数据源名字 同上一步的属性name res type 资源类型 javax sql DataSource res auth Container res sharing scope Shareable .在web应用程序的context xml中设置数据源链接 如下 在《Context》《/Context》节点中加入 《ResourceLink name= jdbc/DBPool type= javax sql DataSource global= jdbc/DBPool /》 属性说明 name 同第 步和第 步的属性name值 和子节点res ref name值 type 同样取 javax sql DataSource global 同name值 至此 设置完成 下面是如何使用数据库连接池 .建立一个连接池类 DBPool java 用来创建连接池 代码如下 import javax naming Context;import javax naming InitialContext;import javax naming NamingException;import javax sql DataSource;public class DBPool { private static DataSource pool; static { Context env = null; try { env = (Context) new InitialContext() lookup( java:p/env ); pool = (DataSource)env lookup( jdbc/DBPool ); if(pool==null) System err println( DBPool is an unknown DataSource ); } catch(NamingException ne) { ne printStackTrace(); } } public static DataSource getPool() { return pool; }} .在要用到数据库操作的类或jsp页面中 用DBPool getPool() getConnection() 获得一个Connection对象 就可以进行数据库操作 最后别忘了对Connection对象调用close()方法 注意 这里不会关闭这个Connection 而是将这个Connection放回数据库连接池 lishixinzhi/Article/program/Java/ky/201311/28920
java配置连接池时不能得到一个DataSource实例,高手请进!
javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/news");
把这句分开写看看。
Context ic = new InitialContext();
Context env = (Context) ic.lookup("java:comp/env");
DataSource ds = (DataSource) env.lookup("jdbc/news");
连接池已经配置成功但是编译时提示lookup错误怎么解决
java:comp/env
这个只是根目录.
正确的配置是tomcat下面的\conf\context.xml
《Resource name="jdbc/aaa" /》
配置这样的话就把java:comp/env改成java:comp/env/jdbc/aaa
项目下web.xml中配置
《resource-ref》
《res-ref-name》jdbc/aaa《res-ref-name》
《/resource-ref》
数据库连接池的DataSource ds=(DataSource)ctx.lookup(ds)出错
public class DBI {
private static DBI dbi = new DBI();
private static DataSource ds = null;
public static DBI getInstance() {
return dbi;
}
private Connection getConnection() throws SQLException {
String datasource = "java:comp/env/mysqlds";
Connection conn = null;
Enumeration e = null;
try {
if (ds == null) {
InitialContext ctx = new InitialContext();
ds = (DataSource) ctx.lookup(datasource);
}
} catch (NamingException ne) {
throw new SQLException("Lookup Datasource fail." + ne.getMessage());
}
conn = ds.getConnection();
return conn;
}
}
和你自己的对比下,改改吧

本文相关文章:
安卓手机配置文件在哪(android中应用需要的配置应该存放在哪呢)
2026年9月25日 21:00
android studio代码混淆(AndroidStudio自带的混淆配置)
2026年9月15日 16:15
linuxbind服务(在Linux系统的服务器中,使用BIND配置域名服务,主配置文件存放在( )中)
2026年9月6日 01:45
eclipse如何配置maven(linux eclipse 怎么配置maven)
2026年9月3日 19:15
idea配置tomcat路径(idea 设置虚拟路径和tomcat配置虚拟目录映射)
2026年7月21日 01:00
更多文章:
native在java中的用法(native的Java关键字)
2026年8月22日 20:30
正则匹配数字字符串开头(js 正则表达式获取字符串开头结尾的数字)
2025年7月24日 05:00
businessman怎么念(businessman怎么读什么意思)
2026年8月29日 10:15
candidate的由来(什么是bug啊还有什么是beta)
2026年5月29日 05:45
不会java可以学javaweb吗(web 开发者需要会java吗)
2025年11月25日 10:00
competition怎么说(competition翻译一下)
2026年3月31日 22:15
winxp如何用汇编(如果在windows下没有任何现成编译器,怎样用机器语言(或汇编语言) 编写程序)
2025年9月14日 09:00
java编程规范单行(JAVA中单行注释和多行注释是什么意思我没弄明白,能解释一下么举个例子也好,谢谢~!)
2026年3月11日 01:15
eclipse连接sql server(eclipse连接sql server2008r2jar包导进去了还是显示驱动有问题怎么办)
2026年1月22日 20:30
android源码调试(如何调试Android Framework)
2025年11月18日 07:45
java经典100例算法题(利用Java编写应用程序求100以内的全部素数)
2025年10月23日 20:00










