java 连接mysql数据库通用类_Java 通用数据库连接类

Java 通用数据库连接类[支持存储过程 参数自动识别]

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.sql.Statement;

import java.sql.Types;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import org.apache.log4j.Logger;

/**

* 数据库操作管理类

*

* @author Harlyhood

*

*/

public class DBManager {

// --------------------------------------------------------- Instance

private static Logger logger = Logger.getLogger(DBManager.class);

// --------------------------------------------------------- Methods

// 数据库连接对象

private Connection con;

// SQL语句对象

private Statement stmt;

// 带参数的Sql语句对象

private PreparedStatement pstmt;

// 记录集对象

private ResultSet rs;

// 数据连接管理(连接池对象)

private DBConnectionManager dcm = null;

/** ***********************手动设置的连接参数********************************* */

@SuppressWarnings("unused")

private static String _DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

@SuppressWarnings("unused")

private static String _URL = "jdbc:sqlserver://localhost:1433;database=Hospital_AI_DB;characterEncoding=gb2312";

@SuppressWarnings("unused")

private static String _USER_NA = "sa";

@SuppressWarnings("unused")

private static String _PASSWORD = "";

/** ********************************************************************** */

// 默认构造

public DBManager() {

}

/** ****************************************************************************************** */

/**

* **************************************** 数据库连接初始化

* ***********************************

*/

/** ****************************************************************************************** */

/**

* 得到一个默认的数据库连接[从 com.hospital.dao.tools.db.properties文件初始化]

*

* @throws Exception

*/

private void getConnection() {

logger.info("###############open:::::从默认的配置文件得到一个数据库连接");

// 获取一个连接池管理类的实例

dcm = DBConnectionManager.getInstance();

// 得到一个数据库连接

con = dcm.getConnection("mysql");

try {

con.setAutoCommit(false);

} catch (SQLException e) {

e.printStackTrace();

}

}

/**

* 从指定参数得到一个连接对象

*

* @param driver

* @param url

* @param user_na

* @param password

* @throws Exception

*/

public void getConnection(String driver, String url, String user_na,

String password) throws Exception {

try {

logger.info("###############open:::::从指定配置中得到一个数据库连接");

Class.forName(driver);

con = DriverManager.getConnection(url, user_na, password);

} catch (ClassNotFoundException ex) {

logger

.info("###############Error[com.hospital.dao.tools.DBManager^^^Method:getConnection^^^Line:81]找不到类驱动类: "

+ driver);

throw ex;

} catch (SQLException ex) {

logger

.info("###############Error[com.hospital.dao.tools.DBManager^^^Method:getConnection^^^Line:81]加载类: "

+ driver + " 时出现 SQLException 异常");

throw ex;

}

}

/** ****************************************************************************************** */

/**

* **************************************** 数据库操作方法

* ***********************************

*/

/** ****************************************************************************************** */

/**

* 执行SQL语句操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值