一、概念:在内存中开辟一块空间,存放多个数据库连接对象。
二、作用:访问数据库比较频繁时,可以提升系统的效率,并且降低服务器的压力。
三、Tomcat管理的数据库连接池实现过程:
1,、在META-INF下创建一个context.xml文件
内容如下:
<Context> <Resource name="dxq" author="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="db2008" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1433;DatabaseName=student" /> </Context> |
<Resource/>的几个属性说明:
author:说明数据库连接池是由Tomcat管理还是应用程序管理;
type:链接类型;
username、password、driverClassName、URL是连接数据库的几个属性对应用户名、密码、驱动、和连接地址;
maxActive:表示最大的处于连接状态的对象
maxIdle:最大空闲状态
一般来讲active的数量设置的要比idle的大。
maxWait:表示超时时间,如果超过这个时间还是连接不上,则会报异常。
2、创建一个用于测试的servlet(testServlet):
Context c=new InitialContext(); DataSource d=(DataSource)c.lookup("java:comp/env/dxq"); Connection con=d.getConnection(); String sql="select * from [bookCity].[dbo].[book]"; PreparedStatement ps=con.prepareStatement(sql); ResultSet rs=ps.executeQuery(); PrintWriter p=response.getWriter(); response.setCharacterEncoding("text/html,charset=utf-8"); System.out.println("数据库连接池配置成功!!!"); while(rs.next()){ p.print(rs.getInt(1)+"</br>"+rs.getString(2)); } |
3、在webContent下的WEB-INF下的lib中加入数据库驱动包,同时在Tomcat的lib中加入驱动,否则会报ClassNotFound异常。
4、将项目发布到Tomcat中,重启Tomcat,程序会正常运行,输出对应的数据。