文章目录
八、项目开发实现步骤
(五)创建数据库连接管理类
- DAO层对表进行增删改查等操作都必须先获取数据库连接,操作完之后应当及时关闭数据库连接。为此,我们单独创建一个数据库连接管理类,提供两个静态方法,一个是获取数据库连接,一个是关闭数据库连接方法。
1、创建数据库工具包
- 创建
net.sunxixia.student.dbutil
包
3、创建数据库连接管理类
- 在
net.sunxixia.student.dbutil
包里创建Connection
(1)定义数据库连接属性常量
- 定义四个静态常量
package net.sxx.student.dbutil;
/**
* 功能:数据库连接管理类
* 作者:孙希霞
* 日期:2023年06月14日
*/
public class ConnectionManager {
// 四步骤 驱动 url 用户名 密码
private static final String DRIVER = "com.mysql.jdbc.Driver"; // 数据库驱动程序
private static final String URL = "jdbc:mysql://localhost:3306/student?useSSL=false&useUnicode=true&characterEncoding=utf8";// 数据源
private static final String USER = "root"; // 数据库用户
private static final String PASSWORD = "123456"; // 数据库密码
}
(2)创建私有构造方法
- 创建私有构造方法,拒绝实例化
// 创建私有构造方法,拒绝实例化
private ConnectionManager(){}
(3)编写获取连接静态方法
- 编写
getConnection()
静态方法(通过类名可以直接访问)
// 获取连接静态方法
public static Connection getConnection(){
// 首先定义数据库连接
Connection conn = null;
try {
// 加载数据库驱动程序
Class.forName(DRIVER);
// 获取数据库连接
conn = DriverManager.getConnection(URL,USER,PASSWORD);
} catch (ClassNotFoundException e) {
System.err.println(e.getMessage());
} catch (SQLException e) {
System.err.println(e.getMessage());
}
// 返回数据库连接
return conn;
}
(4)编写关闭数据库连接静态方法
- 编写
colseConnection(Connection conn)
静态方法
// 关闭连接静态方法
public void closeConnection(Connection conn){
// 判断连接是否为空
if(conn != null){
try {
// 关闭数据库连接
conn.close();
} catch (SQLException e) {
System.err.println(e.getMessage());
}
}
}
(5)在主方法里测试
- 测试两个静态方法
// 主方法,测试两个静态方法
public static void main(String[] args) {
// 获取数据库连接
Connection conn = getConnection();
// 判断连接是否为空
if(conn != null){
System.out.println("恭喜,数据库连接成功");
// TODO 待做
// 关闭数据库连接
closeConnection(conn);
}else {
System.out.println("遗憾,数据库连接失败");
}
}
- 运行程序,查看结果
4、程序运行可能出现的异常
(1)驱动程序不存在或有误
- 故意将驱动程序写错
(2)数据库服务器端口号有误
- 故意将数据库服务器端口号写错
(3)未知数据库错误
- 故意将数据库名写错
(4)用户名错误
- 故意将数据库用户名写错
(4)数据库密码错误
- 故意将数据库密码写错