JNDI

<Context path="/news2" reloadable="true" docBase="E:/hoer/news2" workDir="E:/hoer/news2/work">
 <Resource name="jdbc/news2" 
  auth="Container" 
  type="javax.sql.DataSource"/> 
 <ResourceParams name="jdbc/news2"> 
   <parameter> 
    <name>factory</name> 
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> 
   </parameter> 

<!-- Maximum number of dB connections in pool. Make sure you 
configure your mysqld max_connections large enough to handle 
all of your db connections. Set to 0 for no limit. 
--> 
   <parameter> 
    <name>maxActive</name> 
    <value>100</value> 
   </parameter> 

<!-- Maximum number of idle dB connections to retain in pool. 
Set to 0 for no limit. 
--> 
   <parameter> 
    <name>maxIdle</name> 
    <value>100</value> 
   </parameter> 

<!-- Maximum time to wait for a dB connection to become available 
in ms, in thi* **ample 10 seconds. An Exception is thrown if 
this timeout i* **ceeded. Set to -1 to wait indefinitely. 
--> 
   <parameter> 
    <name>maxWait</name> 
    <value>10000</value> 
   </parameter> 
<!-- MySQL dB username and password for dB connections --> 
   <parameter> 
    <name>username</name> 
    <value></value> 
   </parameter> 
   <parameter> 
    <name>password</name> 
    <value></value> 
   </parameter> 

<!-- Class name for mm.mysql JDBC driver --> 
   <parameter> 
    <name>driverClassName</name> 
    <value>sun.jdbc.odbc.JdbcOdbcDriver</value> 
   </parameter> 

<!-- The JDBC connection url for connecting to your MySQL dB.--> 
   <parameter> 
    <name>url</name> 
    <value>jdbc:odbc:newslist</value> 
   </parameter> 
</ResourceParams> 
</Context>

=================
================== ================== ================== =========
DBConnection .java

package news;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

//import com.AlertClass.Alert;

public class DBConnection {

 private DataSource ds = null;

 private Connection con = null;
 private ResultSet rs = null;
 public DBConnection() {

  try {

   Context ctx = new InitialContext();
   //搜索数据库的资源 封装了DriverManager,它的底层还是通过DriverManager来获取连接对象的
   ds = (DataSource) ctx.lookup("java:comp/env/jdbc/news2");

  } catch (NamingException e) {

   e.printStackTrace();
  }
 }

 public Connection getConnection() {

  try {
   con = ds.getConnection();

  } catch (SQLException e) {
   e.printStackTrace();
  }
  return con;
 }

 public void closeConnection() {
  try {

   if (this.con != null) {
    con.close();
   }

  } catch (SQLException sqlex) {
   sqlex.printStackTrace();
  }

 }

 public void closePrepStmt(PreparedStatement prepStmt) {
  try {
   if (prepStmt != null)
    prepStmt.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public void closeResultSet(ResultSet rs) {
  try {
   if (rs != null)
    rs.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public ResultSet executeQuery(String sql) {
  try {
   //connect = DriverManager.getConnection("jdbc:odbc:newslist");  //??b????????????l??
   this.getConnection();
   Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
   rs = stmt.executeQuery(sql);//执行指定的数据查询语句
  }
  catch(SQLException ex) {
   ex.printStackTrace();
  }
  return rs;
 }
 /*public static Connection getConnection(){
 
  Connection con=null;
 
 
  ResourceBundle rb=ResourceBundle.getBundle("dataBaseProperties");
  String driverClassName=rb.getString("classForName");
  String url=rb.getString("url");
  String username=rb.getString("username");
  String password=rb.getString("password");
 
  try{
  Class.forName(driverClassName);
  con=DriverManager.getConnection(url,username,password);
  }catch(ClassNotFoundException cnfe){
  new Alert(cnfe.getMessage());
  System.out.println(cnfe.getMessage());
  } catch (SQLException sqle) {
  new Alert(sqle.getMessage());
  System.out.println(sqle.getMessage());
  }
  return con;  
  }*/
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值