JDBC数据源和连接池 数据库连接池就是在应用程序启动时就创建足够多的数据库连接池,在java程序中需要访问 数据库时就可以通过数据源取得一个空闲连接,用完在返还到连接池中 实例: 在Tomcat6.0中+MySQL5.5数据源和连接池的配置 (1)将数据库的JDBC驱动程序复
JDBC数据源和连接池<Context path="/JSP_JDBC" docBase="JSP_JDBC" debug="0" reloadable="true"> <ResourceParams name="jdbc/myDataSource" auth="Container" type="javax.sql.DataSource"/> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>maxActive</name> <value>1000</value> </parameter> <parameter> <name>maxIdle</name> <value>30</value> </parameter> <parameter> <name>maxWait</name> <value>10000</value> </parameter> <parameter> <name>username</name> <value>root</value> </parameter> <parameter> <name>password</name> <value>root</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql://localhost/test?autoReconnect=true</value> </parameter> <ResourceParams> <Context> 在web.xml文件中配置数据源连接池的引用 <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/myDataSource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> 在jsp或者Servlet中通过数据源访问数据库 <html> <head><title>通过数据源访问数据库</title></head> <body> 通过数据源访问数据库 <% Connection conn=null; Statement stat=null; ResultSet rs=null; //从数据源连接池取得连接 Context ctx=new InitialContext(); DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/myDataSource"); conn=ds.getConnection(); //查询数据表 stat=conn.createStatement(); String sql="select * from user"; rs.stat.executeQuery(sql); //输出查询结果到界面 while(rs.next()){ out.println("<li>账号:"+rs.getString(2).trim()); out.println("密码:"+rs.getString(3).trim()+"</li>"); } //关闭连接,释放资源 rs.close(); stat.close(); conn.close(); %> </body> </html>