Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1102610
  • 博文数量: 1310
  • 博客积分: 3980
  • 博客等级: 中校
  • 技术积分: 8005
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-09 22:05
文章分类

全部博文(1310)

文章存档

2011年(1)

2008年(1309)

我的朋友

分类:

2008-11-09 17:50:07

数据库连接的建立及关闭对系统而言是耗费系统资源的操作,在多层结构的应用程序环境中,这种耗费资源的动作对系统的性能影响尤为明显。
       在传统的数据库连接方式(指通过DriverManager)中,一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完都关闭连接,这样造成系统的性能低下。
       数据库连接池的解决方案是在应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由应用程序动态地对池中的连接进行申请、使用和释放。对于多于连接池中连接数的并发请求,应在请求队列中排队等待。并且应用程序可根据池中连接的使用率,动态增加或减少池中的连接数。
       连接池技术尽可能多地重用了消耗内存的资源,大大节省了内存,提高了服务器的服务效率,能够支持更多的客户服务。通过使用连接池,将大大提高程序运行效率,同时,我们可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。

       在Tomcat5.5中配置数据源的方法与5.0中的方法是不一样的。
在\conf\server.xml中添加的内容如下(在前)
        debug="0" reloadable="true" crossContext="true">
    name="jdbc/DemoDataSource"
    type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost/yourdatebase"
    username="root"
    password="yourpassword"
    maxActive="1000"
    maxIdle="200"
    maxWait="5000"
    />


在连接类中,代码编写如下:
Context context=new InitialContext();
DataSource dataSource=(DataSoruce)context.lookup("java:comp/env/jdbc/DemoDataSource");
Connection conn = dataSource.getConnection();

其他的数据库操作就都一样了。
当执行完数据库操作时,我们可以执行conn.close()方法,让连接池管理器回收这个连接。和普通连接不同的是,这个操作并不关闭到数据库的物理连接。



吴荣 2008-11-08 16:49 发表评论
阅读(296) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~