文章目录
八、项目开发实现步骤
(五)创建数据库连接管理类
- DAO数据访问层对表进行增删改查等操作都必须先获取数据库连接。为此、我们单独穿件一个数据库连接管理类,提供两个静态方法,一个是获取数据库连接方法,一个是关闭数据库连接方法
1、创建包
- 创建`net.liujinxin.student.dbutil
2、创建数据库连接管理类
- 在
net.liujinxin.student.dbutil
包里创建Connection
(1)定义数据库连接属性常量
- 定义四个静态常量
public class ConnectionManager {
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 = ""; // 数据库密码
}
(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)编写关闭数据库连接静态方法
- 编写
closeConection(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("遗憾,数据库连接失败~");
}
}
3、运行数据库连接管理类
4、程序可能出现的异常
(1)驱动程序不存在或有误
- 故意将驱动程序名称写错
(2)数据库服务端口号有误
(3)未知数据库错误
- 数据库名错误
(4)数据库用户名或密码错误
- 用户名错误
- 密码错误