在web项目的src目录下建立属性文件db.properties。在这里面配置连接数据库的基本信息:
DRIVERS=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost:3306/数据库名
USER=root
PASSWORD=密码
再新建一个工具类,用于获取Connection对象,在这个工具类中,我们需要从db.properties属性文件读取连接数据库的基本信息,代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class DBUtils {
private static final String OPTION_FILE_NAME = "db"; //属性文件名称
private static String drivers;
private static String url;
private static String user;
private static String password;
static {
ResourceBundle res = ResourceBundle.getBundle(OPTION_FILE_NAME);
drivers = res.getString("DRIVERS").trim();
url = res.getString("URL").trim();
user = res.getString("USER").trim();
password = res.getString("PASSWORD").trim();
}
public static Connection getConnection() throws SQLException {
Connection conn = null;
try {
Class.forName(drivers).newInstance();
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
if (conn == null) {
throw new SQLException("DBUtils: Cannot get connection.");
}
return conn;
}
public static void close(Connection conn) {
if (conn == null)
return;
try {
conn.close();
} catch (SQLException e) {
System.out.println("DBUtils: Cannot close connection.");
}
}
public static void close(Statement stmt) {
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
System.out.println("DBUtils: Cannot close statement.");
}
}
public static void close(ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
System.out.println("DBUtils: Cannot close resultset.");
}
}
}
最后,我们只需在JSP页面中引入这个类,并调用getConnection() 方法就可以获得Connection对象了,如果我们要将项目移植,在更换了数据库的情况下,只需简单地
修改配置文件就可以了。