JDBC-数据库连接类ConnDB

package com.rs.exam.util;

import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class ConnDB {
 private static Connection conn = null; // 声明Connection对象的实例
 private static PreparedStatement ps = null; // 声明PreparedStatement对象的实例
 private static ResultSet rs = null; // 声明ResultSet对象的实例
 private static String propFileName = "/conndatabase.properties"; // 指定资源文件保存的位置
 private static Properties prop = new Properties(); // 创建并实例化Properties对象的实例
 private static String dbClassName = "com.mysql.jdbc.Driver";//定义保存数据库驱动的变量
 private static String dbUrl = "jdbc:mysql://localhost/netexam";
 private static String dbUser = "root";
 private static String dbPwd = "root";
 public ConnDB() { //定义构造方法  
  try {   
   //将Properties文件读取到InputStream对象中
   InputStream in = getClass().getResourceAsStream(propFileName);
   prop.load(in); // 通过输入流对象加载Properties文件
   dbClassName = prop.getProperty("DB_CLASS_NAME"); // 获取数据库驱动   
   dbUrl = prop.getProperty("DB_URL", dbUrl);  //获取URL
   dbUser = prop.getProperty("DB_USER", dbUser); //获取登录用户
   dbPwd = prop.getProperty("DB_PWD", dbPwd);  //获取密码
   //in.close();
  } catch (Exception e) {
   e.printStackTrace(); // 输出异常信息
  }
 }

 public static Connection getConn() {
  Connection conn = null;
  try {
   Class.forName(dbClassName).newInstance();
   conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
  } catch (Exception ee) {
   ee.printStackTrace();
  }
  if (conn == null) {
   System.err.println("警告:获得数据库链接失败.\r\n\r\n链接类型:"
       + dbClassName + "\r\n链接位置:"
       + dbUrl + "\r\n用户/密码" + dbUser + "/" + dbPwd);
  }
  return conn;
 }
 public static PreparedStatement getPs(Connection conn, String sql) {
  PreparedStatement ps = null;
  try {
   ps = conn.prepareStatement(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return ps;
 }
 
 public static ResultSet getQuery(PreparedStatement ps) throws SQLException {
  rs = ps.executeQuery();
  return rs; 
 }
 public static int getUpdate(PreparedStatement ps) throws SQLException {
  int i = 0;
  i = ps.executeUpdate();
  return i; 
 }
 /**
  * 功能:执行查询语句
  *//*
 public static ResultSet executeQuery(String sql, Connection conn) {
  try {
   ps = (PreparedStatement) conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_READ_ONLY);
   rs = ps.executeQuery(sql);
  } catch (SQLException ex) {
   System.err.println(ex.getMessage());
  }
  return rs; // 返回结果集对象
 }

 *//**
  * 功能:执行更新操作
  *//*
 public static int executeUpdate(String sql, Connection conn) {
  int result = 0; // 定义保存返回值的变量
  try {
   ps = (PreparedStatement) conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_READ_ONLY);
   result = ps.executeUpdate(sql); // 执行更新操作
  } catch (SQLException ex) {
   result = 0; // 将保存返回值的变量赋值为0
   ex.printStackTrace();
  }
  return result; // 返回保存返回值的变量
 }*/

 /**
  * 功能:关闭数据库的连接
  */
 public static void close() {
  try { // 捕捉异常
   if (rs != null) { // 当ResultSet对象的实例rs不为空时
    rs.close(); // 关闭ResultSet对象
    rs = null;
   }
   if (ps != null) { // 当PreparedStatement对象的实例ps不为空时
    ps.close(); // 关闭PreparedStatement对象
    ps = null;
   }
   if (conn != null) { // 当Connection对象的实例conn不为空时
    conn.close(); // 关闭Connection对象
    conn = null;
   }
  } catch (Exception e) {
   e.printStackTrace(System.err);
  }
 }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值