public class JdbcTest {
public Connection getConnection() throws Exception{
String driverClass = null;
String jdbcUrl = null;
String user = null;
String password = null;
//读取类路径下的jdbc.properties文件
InputStream in = getClass().
getClassLoader().getResourceAsStream("jdbc.properties");
Properties properties = new Properties();
properties.load(in);
driverClass = properties.getProperty("driver");
jdbcUrl = properties.getProperty("jdbcUrl");
user = properties.getProperty("user");
password = properties.getProperty("password");
//通过反射创建Driver对象
Driver driver = (Driver) Class.forName(driverClass).newInstance();
Properties info = new Properties();
info.put("user", user);
info.put("password", password);
//通过Driver的connect方法获取数据库连接
Connection connection = driver.connect(jdbcUrl, info);
return connection;
}
优化之后的代码
public Connection getConnection() throws Exception{
String driver = null;
String jdbcUrl = null;
String user = null;
String password = null;
//读取类路径下的jdbc.properties文件
InputStream in = getClass().
getClassLoader().getResourceAsStream("jdbc.properties");
Properties properties = new Properties();
properties.load(in);
driver = properties.getProperty("driver");
jdbcUrl = properties.getProperty("jdbcUrl");
user = properties.getProperty("user");
password = properties.getProperty("password");
/*//通过反射创建Driver对象
Driver driver = (Driver) Class.forName(driverClass).newInstance();
Properties info = new Properties();
info.put("user", user);
info.put("password", password);*/
//加载数据库驱动程序(对应的Driver 实现类中有注册驱动的静态代码块)
Class.forName(driver);
/*//通过Driver的connect方法获取数据库连接
Connection connection = driver.connect(jdbcUrl, info);*/
//通过DriverManager的getConnection() 方法获取数据库连接
return DriverManager.getConnection(jdbcUrl, user, password);
}
//项目根目录下jdbc.properties文件
driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/mysql
user=root
password=root