转载:C博客:独孤雄
使用配置文件来连接数据库,专业术语来说即连接池。
连接池是负责分配管理和释放数据库连接,它允许用程序重复使用一个现有的数据库连接而不再重复建立连接,
释放空闲时间超过最大空闲时间的数据库连接以避免因为没有释放数据库而引起的数据库遗漏。
连接池的创建分为以下几个步骤:
1.配置context.xml文件(tomcat/conf)。
1 <Resource name="jdbc/databasename" 2 auth="Container" 3 type="javax.sql.DataSource" 4 driverClassName=“com.mysql.jdbc.Driver" 5 url="jdbc:mysql://127.0.0.1:3306/databasename" 6 username=“数据库用户名" 7 password=“用户密码" 8 maxActive="100" 9 maxIdle="30" 10 maxWait="10000" 11 />
2:数据库的驱动包放入服务器的lib文件夹中
3:从MyEclipse中取得这样的连接,具体代码如下
1 package com.upc.dao; 2 3 import java.sql.Connection; 4 import java.sql.ResultSet; 5 import java.sql.Statement; 6 7 import javax.naming.Context; 8 import javax.naming.InitialContext; 9 import javax.sql.DataSource; 10 11 public class DBConnection { 12 13 protected Connection conn; 14 protected Statement ps; 15 protected ResultSet rs; 16 protected String sql; 17 18 public Connection getConn(){ 19 try { 20 Context context=new InitialContext(); 21 DataSource ds=(DataSource)context.lookup("java:comp/env/jdbc/数据库名称"); 22 return ds.getConnection(); 23 } catch (Exception e) { 24 e.printStackTrace(); 25 return null; 26 } 27 } 28 public void closeAll(Connection conn,Statement stmt,ResultSet rs){ 29 try { 30 if(rs!=null){ 31 rs.close(); 32 rs=null; 33 } 34 if(stmt!=null){ 35 stmt.close(); 36 stmt=null; 37 } 38 if(conn!=null){ 39 conn.close();//连接池执行con.close并不会关闭与数据库的TCP连接,而是将连接还回到池中去 40 //如果不close掉的话,这个连接将会一直被占用,直至连接池中的连接耗尽为止 41 conn=null; 42 } 43 } catch (Exception e) { 44 e.printStackTrace(); 45 } 46 } 47 }
之后便可以建立业务类从而对数据库进行操作
时间: 2024-10-09 06:58:57