gpt4 book ai didi

mysql数据库连接池配置教程

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章mysql数据库连接池配置教程由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

第一步:写javabean  。

复制代码代码如下

package withouttears.jdbc.db;  import java.util.HashMap;  import java.sql.*;  //JNDI有两个核心接口Context和DirContext,  //Context中包含了基本的名字操作,而DirContext则将这些操作扩展到目录服务。  import javax.naming.Context;  import javax.naming.InitialContext;  //数据库资源的连接工厂是javax.sql.DataSource对象,  //它可以创建java.sql.Connection数据库连接对象。  import javax.sql.DataSource;  //目前您可以从Java开发者连接(http://java.sun.com/products/jdbc/download.html#rowsetcobundle1_0)  //下载CachedRowSet的实现。下载并解压缩安装文件后,将"rowset.jar"文件放到您的类目录下。  //CachedRowSet在sun.jdbc.rowset包中。  import sun.jdbc.rowset.CachedRowSet;  /**  * 作者:wiThouTTears  * 时间:2006-12-13  * */  public class Database {  /**************************************************************/  /* 函数:localhost  * 功能:建立连接池  * */  private static DataSource localhost(){  DataSource ds=null;  //在HashMap中通过get()来获取value,通过put()来插入value,  //ContainsKey()则用来检验对象是否已经存在  HashMap<Object,Object> cachedDs=new HashMap<Object,Object> ();  if(cachedDs.containsKey("ds"))//取出空闲状态的数据库连接  {  /* 在DataSource中事先建立了多个数据库连接,  * 这些数据库连接保存在连接池(Connect Pool)中。  * Java程序访问数据库时,只需要从连接池中取出空闲状态的数据库连接;  * 当程序访问数据库结束,再将数据库连接放回连接池。  * */  ds = (DataSource)cachedDs.get("ds");  }  else  try  {  /*在javax.naming包中提供了Context接口,  * 该接口提供了将对象和名字绑定,以及通过名字检索对象的方法。  * */  Context initCtx = new InitialContext();  //lookup(String name):返回与指定的名字绑定的对象,获得数据库连接工厂  ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/testdb");  cachedDs.put("ds", ds);  }  catch(Exception e)  {  e.printStackTrace();  }  return ds;  }  /**************************************************************/  /* 函数:getConnection  * 功能:库的连接  * */  private static Connection getConnection(){  Connection conn = null;  try  {  DataSource ds = localhost();  conn = ds.getConnection();  }  catch(Exception e)  {  e.printStackTrace();  }  return conn;  }  /**************************************************************/  /* 函数:close  * 功能:关闭连接  * */  private static void close(Connection conn)  {  try  {  if(conn != null)  conn.close();  }  catch(SQLException e)  {  e.printStackTrace();  }  }  /**************************************************************/  /* 函数:executeQuery  * 功能:数据查询  * */  public static CachedRowSet executeQuery(String sql)  {  Connection conn=null;  CachedRowSet rs=null;  try{  rs=new CachedRowSet();  conn=getConnection();  Statement stmt=conn.createStatement();  ResultSet rs1=stmt.executeQuery(sql);  rs.populate(rs1);  }  catch(Exception e)  {  //System.out.println(e.toString());  }  finally{  try  {  conn.close();  }  catch(Exception ex)  {}  } return rs;  }  /**************************************************************/  /* 函数:executeUpdate  * 功能:数据更新(添加/更改/删除)  * */  public static boolean executeUpdate(String sql)  {  boolean bl;  bl = false;  Connection conn = getConnection();  try  {  Statement stmt = conn.createStatement();  if(stmt.executeUpdate(sql) > 0)  stmt.close();  bl = true;  }  catch(SQLException e)  {  }  finally  {  close(conn);  }  return bl;  }  /**************************************************************/  }  。

编译得到withouttears/db/Database.class并放到E:/MyWorkSpace/test/WEB-INF/classes下,即E:/MyWorkSpace/test/WEB-INF/classes/withouttears/db/Database.class,注意别弄错了。  第二步:配置Tomcat(我用是Tomcat 5.5.7)  1. 在C:/Program Files/Tomcat 5.5.7/conf/Catalina/localhost下新建一个test.xml,内容如下: <Context docBase="E:/MyWorkSpace/test" path="/test"></Context>  注:docBase为你的web文件所在地,我用的是E:/MyWorkSpace/test。path可写可不写,但在Linux下必须写上,Windows下不写我测试可以用,最好写上。这里的test.xml指定的文件夹不像我们平时用的那样在C:/Program Files/Tomcat 5.5.7/webapps/test,不过目的一样都是表示用http://localhost:8080/test/来访问,相当于IIS下的虚拟目录,可以是任意的。  2. 在C:/Program Files/Tomcat 5.5.7/conf/下建立context.xml,在E:/MyWorkSpace/test下新建WEB-INF/web.xml。  context.xml  。

复制代码代码如下

<!-- The contents of this file will be loaded for each web application -->  <Context>  <!-- Default set of monitored resources -->  <WatchedResource>WEB-INF/web.xml</WatchedResource>  <WatchedResource>META-INF/context.xml</WatchedResource>  <!-- Uncomment this to disable session persistence across Tomcat restarts -->  <!--  <Manager pathname="" />  -->  <Resource name="jdbc/testdb"  auth="Container"  type="javax.sql.DataSource"  driverClassName="com.mysql.jdbc.Driver"  url="jdbc:mysql://localhost/mytestdb"  username="root"  password="157744375"  maxActive="100"  maxIdle="30"  maxWait="10000"  />  </Context>  。

注: 链接池配置文件,这样我们就可以用第一步写的Javabean类Database中的localhost()函数来读取这个content.xml中的jdbc/testdb名称  web.xml  。

复制代码代码如下

<?xml version="1.0" encoding="gbk"?>  <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  <display-name>  test</display-name>  <welcome-file-list>  <welcome-file>test.jsp</welcome-file>  </welcome-file-list>  <!-- JSPC servlet mappings start -->  <!-- JSPC servlet mappings end -->  </web-app>  。

注: web.xml放web的默认主页(如:test.jsp或者index.jsp)和程序中要用到servlet的映射,不管它我们这里用不到。  第三步:写test.jsp  。

复制代码代码如下

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  <%@page import="java.sql.*"%>  <%@page import="withouttears.jdbc.db.*"%>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=gbk">  <title>Insert title</title>  </head>  <body>  <%  String sql=null;  sql="select * from table_test";  ResultSet rs=Database.executeQuery(sql);  try{  while(rs.next()){  %>  姓名:<%=rs.getString("name")%><br>  电话:<%=rs.getString("mobile")%><br>  <%}}catch(Exception e){} %>  </body>  </html>  。

第四步:测试 。

最后此篇关于mysql数据库连接池配置教程的文章就讲到这里了,如果你想了解更多关于mysql数据库连接池配置教程的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com