📄 database.java
字号:
/**
* Created by IntelliJ IDEA.
* User: zhouqi
* Date: 2004-9-15
* Time: 13:25:21
* To change this template use Options | File Templates.
*/
package com.datangmobile.oss.omc.pc.util;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import javax.sql.DataSource;
import com.datangmobile.oss.platform.util.ILogger;
import com.datangmobile.oss.platform.util.ModuleLogger;
import com.mchange.v2.c3p0.DataSources;
/**
* 这个类主要封装了基本的database的一些方法,由于database操作的收尾释放工作很繁琐,所以索性放在这里一起处理
*
* @author liuyuan
* @version 1.0
*
* 异常处理
* @author liuyuan
* @version 1.1
*/
public class Database {
/**
* 日志
*/
private static final ILogger log = ModuleLogger.getPmLogger()
.getOperLogger();
private static DataSource pooled;
private static String CONFIG_FILE_NAME = "config/database.ini";
/**
* 关闭连接
*
* @param conn
*/
static public void closeConnection(Connection conn) {
if (null != conn)
{
try {
conn.close();
} catch (SQLException ex) {
log.error(ex.getMessage(), ex);
}
conn = null;
}
}
/**
* 连接数据库
*
* @return
* @throws SQLException
* @throws IOException
*/
static public Connection connect() throws SQLException, IOException {
Connection conn = null;
// 如果数据库连接为空,则获取
if (null == pooled) {
try {
Properties p = new Properties();
p.load(Database.class.getClassLoader().getResourceAsStream(
CONFIG_FILE_NAME));
String user = p.getProperty("user", "v3cm");
String passwd = p.getProperty("passwd", "v3cm");
String className = p.getProperty("className",
"oracle.jdbc.driver.OracleDriver");
String url = p.getProperty("url",
"jdbc:mysql://localhost/v3test");
// 测试代码
// String user = "root";
// String passwd = "root";
// String className = "com.mysql.jdbc.Driver";
// String url = "jdbc:mysql://localhost/v3test";
// String user = "omcr";
// String passwd = "dt";
// String className = "oracle.jdbc.driver.OracleDriver";
// String url="jdbc:oracle:thin:@172.30.2.19:1521:v3test";
// 测试结束
/* 载入驱动 */
try {
Class.forName(className);
} catch (ClassNotFoundException e) {
log.error(e.getMessage(), e);
}
// conn = DriverManager.getConnection(url, user, passwd);
DataSource unpooled = DataSources.unpooledDataSource(url, user,
passwd);
pooled = DataSources.pooledDataSource(unpooled);
// PooledDataSource ds = (PooledDataSource)pooled;
conn = pooled.getConnection();
return conn;
} catch (IOException ex) {
log.error(new StringBuilder().append("读取数据库配置文件异常!").append(
ex.getMessage()).toString(), ex);
throw ex;
} catch (SQLException e) {
log.error(new StringBuilder().append("连接数据库发生异常!").append(
e.getMessage()).toString(), e);
throw e;
}
} else {
conn = pooled.getConnection();
return conn;
}
}
/**
* 关闭预编译的sql语句
*
* @param pstmt
*/
static public void closepstmt(PreparedStatement pstmt) {
if (null != pstmt) {
try {
pstmt.close();
} catch (SQLException ex) {
log.error(ex.getMessage(), ex);
}
pstmt = null;
}
}
/**
* 关闭返回记录
*
* @param rSet
*/
static public void closeRset(ResultSet rSet) {
if (null != rSet) {
try {
rSet.close();
} catch (SQLException ex) {
log.error(ex.getMessage(), ex);
}
rSet = null;
}
}
/**
* 关闭sql语句
*
* @param stmt
*/
static public void closestmt(Statement stmt) {
if (null != stmt) {
try {
stmt.close();
} catch (SQLException ex) {
log.error(ex.getMessage(), ex);
}
stmt = null;
}
}
// public static void main(String[] args){
// try {
// connect();
// } catch (SQLException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -