⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 databasetool.java

📁 网上购物系统
💻 JAVA
字号:
package eshopsys.tools.database;
import java.sql.*;

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

public class DataBaseTool {
	 private static Connection con = null;
	   //该类的构造函数,因为该类对外提供方法都是静态的,所以不需要实例化,
	//因此该构造方法为private
	  private DataBaseTool() {
	  }
	//获得数据库连接
	  public static Connection getConnection() throws
	      SQLException {
		  con=getSqlServerConnection();///////////////////////////////////////
	      //con=getMySqlConnection();
		  //con=getMySqlConnectionJF();
		  return con;
	  }  
	//通过数据库连接池获得数据库连接
	  public static Connection getSqlServerSpoolConnection() throws
      SQLException {
		  
		  try {
		      Context initCtx = new InitialContext();
		      Context envCtx = (Context) initCtx.lookup("java:comp/env");
		      DataSource ds = (DataSource) envCtx.lookup("jdbc/EshopSqlServer");
		      con = ds.getConnection();
		    }
		    catch (Exception e) {
				throw new SQLException("从连接池中获取数据库连接发生异常 : " + e.getMessage());
		    }
	    return con;
	  }
	  public static Connection getSqlServerConnection() throws
      SQLException {
		  
		String SDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
		String SConnstr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=EshopData";
	    String Suser="sa";
	    String Spwd="sa";
	    try {
			Class.forName(SDriver);//数据库驱动程序加载
			try {
				con=DriverManager.getConnection(SConnstr, Suser,Spwd);//获取数据库连接
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		
	    
        return con;
  }
///////////////////////////////////////////////////////////////////////////////////
	  public static Connection getMySqlSpoolConnection() throws
      SQLException {
    try {
      Context initCtx = new InitialContext();
      Context envCtx = (Context) initCtx.lookup("java:comp/env");
      DataSource ds = (DataSource) envCtx.lookup("jdbc/EshopMySql");
      con = ds.getConnection();
    }
    catch (Exception e) {
		throw new SQLException("从连接池中获取数据库连接发生异常 : " + e.getMessage());
    }
    return con;
  }
	  public static Connection getMySqlConnectionJF() throws
	  SQLException {
		  
		String SDriver="com.mysql.jdbc.Driver";
		String SConnstr="jdbc:mysql://localhost:3306/eshopdata";
	    String Suser="root";
	    String Spwd="";
	    try {
			Class.forName(SDriver);//数据库驱动程序加载
			try {
				con=DriverManager.getConnection(SConnstr, Suser,Spwd);//获取数据库连接
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		
	    
	    return con;
	}
	///////////////////////////////////////////////////////////////////////////////////

  public static Connection getMySqlConnection() throws
  SQLException {
	  
	String SDriver="com.mysql.jdbc.Driver";
	String SConnstr="jdbc:mysql://localhost:3306/EshopData";
    String Suser="root";
    String Spwd="root";
    try {
		Class.forName(SDriver);//数据库驱动程序加载
		try {
			con=DriverManager.getConnection(SConnstr, Suser,Spwd);//获取数据库连接
		} catch (SQLException e) {
			e.printStackTrace();
		}
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
	
    
    return con;
}
///////////////////////////////////////////////////////////////////////////////////
	  //关闭数据库资源
	  public static void close(ResultSet rs, Statement st, Connection con) {
	    close(rs);
	    close(st, con);
	  }

	  //关闭数据库资源
	  public static void close(Statement st, Connection con){
	    close(st);
	    close(con);
	  }

	  //关闭数据库连接,由于采用连接池方式,数据库连接不会被实际关闭
	  public static void close(Connection con){
	    try {
	      if(con != null)
			con.close();
	    }
	    catch (Exception e) {
	    }
	  }

	  //关闭数据库资源
	  public static void close(ResultSet rs){
	    try {
	      if (rs != null)
	      	rs.close();
	    }
	    catch (Exception e) {
	    }
	  }

	  //关闭数据库资源
	  public static void close(Statement st){
	    try {
	      if (st != null)
	      	st.close();
	    }
	    catch (Exception e) {
	    }
	  }

	  //获得数据库服务器日期(适用于SQLServer数据库)
	  public static Date getCurrentDateFromSQLServer(Connection con) throws
	      SQLException {
	    String strSQL = "select getDate()";
	    Statement st = con.createStatement();
	    ResultSet rs = st.executeQuery(strSQL);
	    rs.next();
	    Date dtRtn = rs.getDate(1);
	    close(rs, st, null);
	    return dtRtn;
	  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -