JDBC 数据源和连接池

来源:互联网 发布:淘宝网休闲套装 编辑:程序博客网 时间:2024/05/16 12:05
1.什么是连接池连接池技术预先建立多个数据库连接对象,然后将连接对象保存到连接池中,当客户请求到来的时候,从池中取出一个连接对象为客户服务,当请求完成后,客户程序调用close()方法,将连接对象放回池中。在普通的数据库访问程序中,客户程序得到的连接对象是物理连接,调用连接对象的close()方法关闭连接,而采用连接池技术,客户程序得到的连接对象是连接池中物理连接的一个句柄,调用连接对象的close()方法,物理连接并没有关闭,数据源的实现只是删除了客户程序中的连接对象和池中的连接对象之间的连接。2.例子a. tomcat主目录下conf目录下的context.xml配置 name="jdbc/xhlove" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1433;DatabaseName=xhlvoe" /> b.调用<%@ page language="java" pageEncoding="gbk"%> <%@page import="javax.sql.*" %> <%@page import="java.sql.*" %> <%@page import="javax.naming.*" %> sql <% try{ //创建连接对象,值为空 Connection con; //创建执行对象,值为空 (??是这样叫的么) Statement stmt; //创建显示结果的对象,值为空 ResultSet rs; //创建 context 对象,接受它的初始化 Context ctx = new InitialContext(); //在context的上下文中寻找 name等于"jdbc/xhlove2"的数据源配置 //查找得到的结果类型是object,需要用(DataSource)转换一下类型 DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/xhlove2"); //开始连接,给连接对象赋值 con = ds.getConnection(); //给执行对象赋值 stmt= con.createStatement(); //执行查询操作,将结果赋给rs rs = stmt.executeQuery("select * from love"); //显示. while(rs.next()) out.println(rs.getString(1)); }catch(Exception e){ out.println(e.getMessage()); } %>
原创粉丝点击