package com.mingrisoft; //指定类所在的包 import java.io.InputStream; import java.sql.*; import java.util.Properties; public class DBConnection { private String FileName; //配置文件名 private int DBType; //数据库类型 private String MySqlDriver; //MYSQL Server驱动程序 private String MySqlURL; //MYSQL Server连接字符串 private String username; //用户名 private String password; //密码 public Connection conn = null; //数据库连接对象 public Statement stmt = null; //Statement对象,用于执行SQL语句 public ResultSet rs = null; //结果集对象 public DBConnection() { conn = null; } public Connection getConn() { DBType= new Function().StrToInt(getPara("DBType")); switch(DBType) { case 1:return(getConnToMySql()); default:return null; } } public String getPara(String ParaName) { FileName="../DBConfig.property"; Properties prop= new Properties(); try { InputStream is=getClass().getResourceAsStream(FileName); prop.load(is); if(is!=null) is.close(); } catch(Exception e) { return "Error!"; } return prop.getProperty(ParaName); } public Connection getConnToMySql() { try{ MySqlDriver = getPara("MySQLDriver"); MySqlURL = getPara("url"); username = getPara("username"); password = getPara("password"); Class.forName(MySqlDriver).newInstance(); conn = DriverManager.getConnection(MySqlURL,username,password); }catch(Exception e){ e.printStackTrace(); //return "操作数据库出错,请仔细检查" ; //System.err.println(e.getMessage()); } return conn; } /** * 功能:关闭数据库连接 */ public void close() { try { // 捕捉异常 if (rs != null) { rs.close();// 关闭结果集对象 } if (stmt != null) { stmt.close(); // 关闭Statement对象 } if (conn != null) { conn.close(); // 关闭数据库连接对象 } } catch (Exception e) {// 处理异常 e.printStackTrace(System.err);// 输出异常信息 } } /** * 功能:更新数据 * * @param sql * @return */ public int executeUpdate(String sql) { int result = 0;// 更新数据的记录条数 try {// 捕捉异常 conn = getConnToMySql();// 获取数据库连接 // 创建用于执行SQL语句的Statement对象 stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); result = stmt.executeUpdate(sql);// 执行SQL语句 } catch (SQLException ex) {// 处理异常 result = 0;// 指定更新数据的记录条数为0,表示没有更新数据 ex.printStackTrace();// 输出异常信息 } try {// 捕捉异常 stmt.close();// 关闭用于执行SQL语句的Statement对象 } catch (SQLException ex1) {// 处理异常 ex1.printStackTrace();// 输出异常信息 } return result;// 返回更新数据的记录条数 } public static void main(String[] args) { new DBConnection().getConnToMySql(); } }