mysql的注册驱动方法有两种:
之一:
java.sql.DriverManager.registerDriver(new com.mysql.jdbc.Driver());
conn = DriverManager.getConnection("db_url","db_Username","db_Password");
之二:
将驱动信息配置到jdbc.properties文件中,通过读取配置文件获取
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
// jdbc 的工具类
public class JdbcUtils {
private JdbcUtils() {
}
private static String url;
private static String user;
private static String password;
static {
try {
// 读取配置文件(jdbc.properties)的内容如下:
/**
* url=jdbc:mysql://localhost:3306/test user=root password=123456
* driverClass=com.mysql.jdbc.Driver
*/
InputStream in = JdbcUtils.class.getClassLoader()
.getResourceAsStream("jdbc.properties");
Properties prop = new Properties();
prop.load(in);
url = prop.getProperty("url");
user = prop.getProperty("user");
password = prop.getProperty("password");
// 注册驱动
String driverClass = prop.getProperty("driverClass");
Class.forName(driverClass);
/*
* 在com.mysql.jdbc.Driver类的静态代码块中注册了 mysql驱动
* 所以只要加载com.mysql.jdbc.Driver类即可
*
* static { try { java.sql.DriverManager.registerDriver(new
* Driver());//注册驱动
*
* } catch (SQLException E) { throw new
* RuntimeException("Can't register driver!"); } }
*/
} catch (Exception e) {
throw new ExceptionInInitializerError(e);
}
}
// 获得与指定数据库的连接
public static Connection getConnection() throws SQLException {
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
// 释放资源
public static void release(ResultSet rs, Statement stmt, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs = null;
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
stmt = null;
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = null;
}
}