java 多次连接数据库耗时_java 因为数据库反复的连接是很耗资源的,所以用连接池比较好...

展开全部

tomcat连接池的62616964757a686964616fe58685e5aeb931333264626630方法

1:连接池所要解决的问题:

应用程序每一次与数据库的连接都会由于网络传输和执行数据库查询而严重降低了程序的执行效率,因此我们需要用到连接池将将我们经常要用到的数据保存在连接池中,这样就减少了网络传输和因查询而给程序执行效率带来的影响。

2:连接池的本质:用一个集合保存查询出来的数据。

3:连接池的实现原理:

我们要使用Connect pool,首先要做的是访问datasource(所有的要访问的数据都放在这里面)。datasource数据源是通过LDAP(light directory access protocal)软件进行管理的(其本质就是将数据源以树状结构进行存储,这样的话,方便查询(树状结构的查询效率是最快的),java通过JNDI(java naming directory interface)访问LDAP里面的数据。

4:在tomcat种配置连接池:

1)打开tomcat目录下的conf/context.cfg:在里面加入如下配置

Xml代码

其中:maxActive:代表的是要配置的最大连接数。

type:资源类型

2)通过应用程序执行上述连接:

Java代码

DataSource ds=(DataSource)ctx.lookup("java:comp/env/ds");//必须要

Connection con=ds.getConnection();

out.println("

connection succeeful

");

con.close();

%>

DataSource ds=(DataSource)ctx.lookup("java:comp/env/ds");//必须要

Connection con=ds.getConnection();

out.println("

connection succeeful

");

con.close();

%>

conn.close():连接池是被覆盖了的,本质上的含义,把连接池借过来的连接还回去。

从零开始学java web 开发书上的例子

以sql server 2005为例,讲解tomcat6.0上的配置。

下载sqljdbc.jar放在tomcat的lib目录,tomcat/conf/context.xml文件,中加入配置代码。

web.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

index.jsp

SQL Server 2005 DataSource

jdbc/dbpooling

javax.sql.DataSource

Container

showUsers.jsp

pageEncoding="GB2312"%>

全部注册用户信息

try {

DataSource ds = null;

InitialContext ctx = new InitialContext();//建立上下文对象

ds = (DataSource) ctx.lookup("java:comp/env/jdbc/dbpooling");//通过JNDI查找数据连接池

Connection conn = ds.getConnection();//获得数据库连接对象

PreparedStatement pstate = conn

.prepareStatement("select * from [User]");

ResultSet rs = pstate.executeQuery();

out.println("

out.println("

用户名密码");

while (rs.next()) {

out.println("

");

out.println(rs.getString(2));

out.println("

");

out.println(rs.getString(3));

out.println("

");

}

out.println("

");

} catch (SQLException e) {

out.println(e);

}

%>

更多追问追答

追问

我写的是c/s架构的 怎么用tomcat连接池?

如果不用tomcat的话 该怎么弄?

追问

不行呀 连SQL server 数据库报错 还是报错 我只是把 createConnection方法换成了SQL sever 2000的数据库

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

Connection connection = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=db_JXC", "sa", "1q2w3e");

追答

网上查一下吧,还有其它文章介绍的,现在cs结构用java的好象不多,开发效率问题,我的项目是bs结构的,不好意思;cs部分的也有,一般是用vb、C#等,开发速度快,成本低。

地址是第三方的对比,无它意,能用连接池的,肯定不是新手,只是不是用在cs上了。

本回答由提问者推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值