java通过连接池连接数据库(主要mysql,其他也一样)

作者:花季小子  发布时间:2012-05-07 10:53:18

java通过连接池连接数据库

第一步:在你安装TomCat的目录下找到context.xml配置文件。

(例如:D:\Tomcat 6.0\conf\context.xml)然后打开context.xml,在标签<context></<context>之间加入以下内
<Resource
name="jdbc/course" //数据源名称(自定义)到时候要用到的,所以最好起
//个有含义的名字,例如我这个数据源名字,jdbc表示与//数据库连接有关的,而course是我这个项目的名字。
auth="Container" //这个默认就好了
type="javax.sql.DataSource" //这个也默认就好了
driverClassName="com.mysql.jdbc.Driver"//这里用到的是mysql数据库的驱动包。
url="jdbc:mysql://localhost/course" //这里是连接到mysql数据库的url,其中url="jdbc:mysql://localhost/"是固定的,而course是我这个 //项目的数据库名称,所以这里改为你们的数据库名称就好了。
username="root"//登陆数据库的用户名
password="sa" //登陆数据库的密码
maxIdle="5"//这个也默认就好了
maxWait="5000"//这个也默认就好了
maxActive="10"/>//这个也默认就好了

第二步:在你的项目WEB-INF目录下找到web.xml配置文件,然后打开,在标签<web-app></web- app>之间加入以下内容:
<resource-ref>
<deScription>DB Connection</deScription>
<res-ref-name>jdbc/course</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
其中:DB Connection 是自定义的,而jdbc/course是对应上面<Resource></Resource>标签中的name属*的值,还有 javax.sql.DataSource就对应type属*的值,而最后Container对应的是auth属*的值。

第三步:上网下载一个叫mysql-connector-java-3.1.10-bin.jar的jar包,然后将该jar包放到TomCat 安装目录下的lib文件夹里。(例如:D:\Tomcat 6.0\lib\mysql-connector-java-3.1.10-bin.jar)完成这三步就配置好了TomCat数据源了。


<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
       DataSource ds = null;
       try{
          Context initCtx = new InitialContext();
          Context envCtx = (Context) initCtx.lookup("java:comp/env/");
         //从Context中lookup数据源。
          ds = (DataSource)envCtx.lookup("jdbc/quote");
          if(ds!=null){
            out.println("已经获得DataSource!");
            out.println("<br>");
            Connection conn = ds.getConnection();
            PreparedStatement pstmt = conn.prepareStatement("select * from Customer");
            ResultSet rs = pstmt.executeQuery();
            while(rs.next()){
                out.println(rs.getString("customercode"));
                out.println(rs.getString("customername"));
                out.println(rs.getString("phone"));
                out.println("<br/>");
            }
            }
        }catch(Exception ne){
           out.println("出现如下错误:<br>");
           out.println(ne);
       } 

%>
</body>
</html>

注意:在Jsp文件加载包的时候要注意java.sql.包与你下载的mysql包的冲突问题。此处用的是mysql下载的包,所以加载的时候也应相同!