JDBC是基于java操作Mysql数据库的常用驱动包,同样编程语言和使用数据库的不同,所需要的驱动包也就不同,例如java语言操作Oracle数据库时需要的驱动包名字叫ojdbc。
JDBC的全称JAVA Database Connectivity,翻译过来就是java数据库连接。是一种用于执行SQL语句的java API(应用程序接口或者应用编程接口),是程序开发者通过编程软件直接访问数据库,直接面向已经抽象好的接口编程。
JDBC的连接:
第一步:建立数据库链接
本项目中采用一个单例模式创建一个数据源DataSource,通过getDatasource().getConnection()的方式获取了一个数据库的连接,使用这种方式的好处是我们可以设置getDatasource()方法为私有属性,封装了连接数据库参数,并且只需要创建一次,以后返回的都是这个对象。只是外部提供了一个获取数据库连接的接口。
private static DataSource getDatasource() {
if (DS == null) {//懒汉模式的单例
synchronized (DBUtil.class) {
if (DS == null) {
DS = new MysqlDataSource();
((MysqlDataSource) DS).setURL(URL);
((MysqlDataSource) DS).setUser(USERNAME);
((MysqlDataSource) DS).setPassword(PASSWORD);
}
}
}
return DS;
}
public static Connection getConnection() {
try {
return getDatasource().getConnection();
} catch (SQLException e) {
throw new RuntimeException("获取数据库连接失败", e);
}
}
第二步:需要执行的sql语句要进行预编译,也就是针对要对数据库完成的操作,写一条String类型的sql语句。
第三步:创建操作命令对象,这个对象包含了要查询的sql语言。
ps=c.prepareStatement(sql);
第四步:执行查询操作,拿到这个对象执行后返回的结果。
rs=ps.executeQuery();
第五步:对返回的查询结果集进行处理
第六步:释放资源,由于获取连接和释放资源在本项目中都应用了多次,所以写成了一个固定的DBUtil类提供了获取连接和释放资源的方法。
public static void close(Connection c, Statement s){
//更新操作调用的是两个参数的重载方法
close(c,s,null);
}
public static void close(Connection c, Statement s, ResultSet r) {
//查询操作调用的是三个参数的方法
try {
if (c != null) {
c.close();
}
if (s != null) {
s.close();
}
if (r != null) {
r.close();
}
} catch (SQLException e) {
throw new RuntimeException("释放数据库资源失败", e);
}
}
JDBC(JAVA Database Connectivity)是Java操作数据库的API,主要用于执行SQL语句。连接数据库包括6个步骤:1) 创建数据库链接,常通过单例模式的DataSource获取;2) 预编译SQL语句;3) 创建PreparedStatement对象;4) 执行查询操作并获取ResultSet;5) 处理查询结果集;6) 释放资源。项目中通常封装DBUtil类以简化连接和资源释放。

5611

被折叠的 条评论
为什么被折叠?



