java mysql 操作类_java 数据库操作类

该博客详细介绍了使用Java连接数据库的各种方法,包括通过`DriverManager`、`DataSource`、JNDI查找以及针对不同数据库(Oracle、MySQL、Access)的特定连接方式。同时,还提供了关闭数据库连接的辅助方法。
摘要由CSDN通过智能技术生成

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Properties;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.sql.DataSource;

import org.apache.log4j.Logger;

public class DBConnection {

/**

* @param path

* @return Connection

* wgy

*/

public static Connection getConn(String classDriver, String url,

String user, String pwd) {

try {

Class.forName(classDriver);

return DriverManager.getConnection(url, user, pwd);

} catch (ClassNotFoundException ex) {

ex.printStackTrace();

} catch (SQLException ex) {

ex.printStackTrace();

}

return null;

}

public static Connection getConn(DataSource dataSource) {

try {

return dataSource.getConnection();

} catch (SQLException ex) {

ex.printStackTrace();

}

return null;

}

public static Connection getConn(String jndiName) {

try {

Context ctx;

ctx = new InitialContext();

DataSource dataSource = (DataSource) ctx.lookup("java:comp/env/"

+ jndiName);

return dataSource.getConnection();

} catch (NamingException ex) {

ex.printStackTrace();

} catch (SQLException ex) {

ex.printStackTrace();

}

return null;

}

public static Connection getConn(Properties properties) {

try {

String driver = properties.getProperty("jdbc.driverClassName");

String url = properties.getProperty("jdbc.url");

String user = properties.getProperty("jdbc.username");

String password = properties.getProperty("jdbc.password");

Class.forName(driver);

return DriverManager.getConnection(url, user, password);

} catch (ClassNotFoundException ex) {

ex.printStackTrace();

} catch (SQLException ex) {

ex.printStackTrace();

}

return null;

}

/**

* oracle

*

* @param path

* @return Connection

*/

public static Connection getOracleConn(String url, String user, String pwd) {

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

return DriverManager.getConnection(url, user, pwd);

} catch (ClassNotFoundException ex) {

ex.printStackTrace();

} catch (SQLException ex) {

ex.printStackTrace();

}

return null;

}

/**

* mysql

*

* @param path

* @return Connection

*/

public static Connection getMysqlConn(String url, String user, String pwd) {

try {

Class.forName("com.mysql.jdbc.Driver");

return DriverManager.getConnection(url, user, pwd);

} catch (ClassNotFoundException ex) {

ex.printStackTrace();

} catch (SQLException ex) {

ex.printStackTrace();

}

return null;

}

/**

* Access����

*

* @param path

* @return Connection

*/

public static Connection getAccessConn(String path) {

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url = "jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="

+ path;

return DriverManager.getConnection(url, "", "");

} catch (ClassNotFoundException ex) {

ex.printStackTrace();

} catch (SQLException ex) {

ex.printStackTrace();

}

return null;

}

public static void close(Object... objects) {

try {

for (Object object : objects) {

if (object != null) {

if (object instanceof ResultSet) {

ResultSet rs = (ResultSet) object;

rs.close();

log.info("ResultSet close");

} else if (object instanceof Statement) {

Statement stmt = (Statement) object;

stmt.close();

log.info("Statement close");

} else if (object instanceof Connection) {

Connection conn = (Connection) object;

conn.close();

log.info("Connection close");

}

}

}

} catch (SQLException e) {

e.printStackTrace();

}

}

private static Logger log = Logger.getRootLogger();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值