ConnDB.java~12~
上传用户:toby828
上传日期:2015-06-26
资源大小:8558k
文件大小:4k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package core;
  2. import java.sql.*;
  3. import java.util.Properties;
  4. import java.io.*;
  5. public class ConnDB {
  6.     public Connection conn=null;
  7.     public ResultSet rs=null;
  8.     public Statement stmt=null;
  9.     private static String propFileName="connDB.properties";
  10.     private static Properties prop=new Properties();
  11.     private static String dbClassName =
  12.     "com.mysql.jdbc.Driver";
  13.     private static String dbUrl =
  14.     "jdbc:mysql://127.0.0.1:3306/db_library";
  15.     private static String dbUser = "admin";
  16.     private static String dbPwd = "111";
  17.     private static void loadProperty() {
  18.         try {
  19.             prop.load(new FileInputStream(propFileName)); //通过文件输入流对象加载Properties文件
  20.             dbClassName = prop.getProperty("DB_CLASS_NAME");
  21.             dbUrl = prop.getProperty("DB_URL",
  22.                                      "jdbc:mysql://127.0.0.1:3306/db_library");
  23.             dbUser = prop.getProperty("DB_USER", "admin");
  24.             dbPwd = prop.getProperty("DB_PWD", "111");
  25.         } catch (Exception e) {
  26.             e.printStackTrace();
  27.         }
  28.     }
  29.     public static Connection getConnection() {
  30.       Connection conn = null;
  31.       loadProperty();
  32.       try {
  33.         Class.forName(dbClassName).newInstance();
  34.         conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
  35.       }
  36.       catch (Exception ee) {
  37.         ee.printStackTrace();
  38.       }
  39.       if (conn == null) {
  40.         System.err.println(
  41.             "警告: DbConnectionManager.getConnection() 获得数据库链接失败.rnrn链接类型:" +
  42.             dbClassName + "rn链接位置:" + dbUrl + "rn用户/密码" + dbUser + "/" +
  43.             dbPwd);
  44.       }
  45.       return conn;
  46.     }
  47.     /*
  48.  *功能:执行查询语句
  49.  */
  50. public ResultSet executeQuery(String sql) {
  51.   try {
  52.     conn = getConnection();
  53.     stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
  54.                                 ResultSet.CONCUR_READ_ONLY);
  55.     rs = stmt.executeQuery(sql);
  56.   }
  57.   catch (SQLException ex) {
  58.     System.err.println(ex.getMessage());
  59.   }
  60.   return rs;
  61. }
  62. /*
  63.  *功能:执行更新操作
  64.  */
  65. public int executeUpdate(String sql) {
  66.   int result = 0;
  67.   try {
  68.     conn = getConnection();
  69.     stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
  70.                                 ResultSet.CONCUR_READ_ONLY);
  71.     result = stmt.executeUpdate(sql);
  72.   }
  73.   catch (SQLException ex) {
  74.     result = 0;
  75.   }
  76.   try {
  77.     stmt.close();
  78.   }
  79.   catch (SQLException ex1) {
  80.   }
  81.   return result;
  82. }
  83. public int executeUpdate_id(String sql) {
  84.   int result = 0;
  85.   try {
  86.     conn = getConnection();
  87.     stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
  88.                                 ResultSet.CONCUR_READ_ONLY);
  89.     result = stmt.executeUpdate(sql);
  90.     String ID = "select @@IDENTITY as id";
  91.     rs = stmt.executeQuery(ID);
  92.     if (rs.next()) {
  93.       int autoID = rs.getInt("id");
  94.       result = autoID;
  95.     }
  96.   }
  97.   catch (SQLException ex) {
  98.     result = 0;
  99.   }
  100.   return result;
  101. }
  102.     /*
  103.      *功能:关闭数据库的连接
  104.      */
  105.     public void close() {
  106.       try {
  107.         if (rs != null) {
  108.           rs.close();
  109.         }
  110.       }
  111.       catch (Exception e) {
  112.         e.printStackTrace(System.err);
  113.       }
  114.       try {
  115.         if (stmt != null) {
  116.           stmt.close();
  117.         }
  118.       }
  119.       catch (Exception e) {
  120.         e.printStackTrace(System.err);
  121.       }
  122.       try {
  123.         if (conn != null) {
  124.           conn.close();
  125.         }
  126.       }
  127.       catch (Exception e) {
  128.         e.printStackTrace(System.err);
  129.       }
  130.   }
  131. }