看到好久之前写的一段java连接数据库的程序,这里晒出来下,供以后学习用。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* 类功能描述 数据库连接工厂
* 1、提供連接對象
* 2、关闭连接对象
*
*
*
*@version 版本号以开发时间(1.0.0 )
*/
public class ConnectionFactory{
static Connection con = null;
/**
* 连接工厂
* @param url
* @param useName
* @param password
* @return 连接对象
*/
public static Connection getConnectionDB(String url,String userName,String password){
try {
//加载驱动程序
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); //创建连接
con=DriverManager.getConnection(url,userName,password);
} catch(ClassNotFoundException e) {
System.out.println("加载驱动程序出错");
} catch(SQLException e) {
System.out.println(e.getMessage());
} catch(Exception e) {
System.out.println("出现了好大的错误");
}
return con;
}
/**
* 銷毀連接
* @param conn
* @param pstm
* @param rs
*/
public static void destoryResource(Connection conn, PreparedStatement pstm,
ResultSet rs) {
try {
if (pstm != null)
pstm.close();
if (rs != null)
rs.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
}
}
/**
* 銷毀連接
* @param conn
* @param pstm
*/
public static void destoryResource(Connection conn, PreparedStatement pstm) {
try {
if (pstm != null)
pstm.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
}
}
/**
*开始一个事务
* @param con 数据库的连接。
* @throws Exception 执行操作时发生的任何异常。
*/
public static void beginTransaction(Connection con) throws Exception{
if (con == null)
{
throw new Exception("Can not start transaction with a null onnection!");
}
con.setAutoCommit(false); // 更改JDBC事务的默认提交方式
}
/**
*开始一个事务
* @param con 数据的连接。
* @param success 是否进行提交的标志,true - 提交,否则回退。
* @throws Exception 执行操作时发生的任何异常。
*/
public static void endTransaction(Connection con, boolean success) throws Exception {
if (con == null){
throw new Exception("Can not end transaction with a null connection!");
}
if (success) {
con.commit();
con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式
}else{
con.rollback();
}
}
}