文章目录
前言
本文详细介绍了JDBC的编程的六个步骤。首先来回顾一下JDBC的六步:
- 注册驱动
- 获取数据库连接
- 获取数据库操作对象
- 执行SQL语句
- 处理查询结果
- 释放资源
一、注册驱动
- 需要掌握注册驱动的常用的两种方式
-
Class.forName("com.mysql.jdbc.Driver");
该方法最常用,因为参数是字符串,字符串可以写在xxxx.properties中 -
System.setProperty("jdbc.drivers","com.mysql.cj.jdbc.Driver");
该方法可以导入多个jdbc驱动,中间用冒号:隔开
例如:System.setProperty("jdbc.drivers","XXXDriver:XXXDriver:XXXDriver");
二、获取数据库连接
- 语句
connection = DriverManager.getConnection(url, user, password);
/*getConnection(String url, String user, String password)
试图建立到给定数据库 URL 的连接。* /
- 什么是url?
url:统一资源定位符(网络中某个资源的绝对路径)
包括:
1.协议
2.ip
3.port
4.资源名
举例:https://220.181.38.149:80/index.html
https:// 通讯协议
220.181.38.149 服务器ip地址
80 服务器上软件的端口号
index.html 服务器上的某个资源
jdbc:mysql://localhost:3306/newsmanagersystem
jdbc:mysql:// 协议:通信协议之前就定义好的数据传送格式,即数据包具体怎么传数据
localhost ip地址(localhost和127.0.0.1都是本机IP)
3306 mysql数据库端口号
newsmanagersystem 具体的数据库实例名
- 注意:需要明确传递的三个参数是什么!!
三、获取数据库操作对象
- 语句
statement = connection.createStatement();
//调用createStatement()方法创建数据库操作对象
四、执行SQL语句
- 语句
statement.executeUpdate("sql语句");//执行INSERT、UPDATE 或 DELETE 语句,返回int
resultSet = statement.executeQuery("sql语句");//执行select,返回查询结果集
五、处理查询结果集
- 语句
boolean flag = resultSet.next();//光标指向的行,true为有数据,false无数据
// 遍历输出查询结果集
while (flag) {
//取数据,这里的1,2,3指的是第几列,也可以写成列名(即查询结果集的列明,不是表中的列名称)
//getString()方法的特点:不管数据库中的数据类型是什么,都以string的类型输出
//除了string类型取出外,也可以使用特定的类型取出,但需要视情况而定
String ntitle = resultSet.getString(1);
String ncreateDate = resultSet.getString("data");
String ncontent = resultSet.getString(3);
}
六、关闭连接
- 语句
//6.释放资源
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
- 注意:为了保证资源一定释放,在finally语句块中关闭资源, 并且要遵循从小到大依次关闭,分别对其try,catch。
七、模板代码
import java.sql.*;
/**
* 回顾jdbc的六步
* 1.注册驱动 掌握常用的两种方式
* 2.获取数据库连接 connection=DriverManager.getConnection(url,user,password)明确三个参数是什么
* 3.获取数据库操作对象 获取数据库连接对象connection后,就可以通过connection.createStatement()获取数据库操作对象statement
* 4.执行SQL语句 拿到数据库操作对象statement后,就可以通过statement对象调用两种方法 1.executeUpdate() 2.executeQuery() 注意两种方法的返回值类型
* 5.处理查询结果 只针对executeQuery()方法查询后的结果集resultSet
* 6.释放资源
*/
public class JDBCtemplate {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;//
try {
//1.注册驱动
try {
Class.forName("com.mysql.jdbc.Driver");//原理利用类加载机制
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//2.获取连接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/newsmanagersystem", "root", "root");
//3.获取数据库操作对象
statement = connection.createStatement();
//4.执行SQL语句
statement.executeUpdate("");
resultSet = statement.executeQuery("select ntitle,ncreateDate as data,ncontent from news");
//5.处理查询结果集
boolean flag = resultSet.next();
// 遍历输出查询结果集
while (flag) {
String ntitle = resultSet.getString(1);
String ncreateDate = resultSet.getString("data");
String ncontent = resultSet.getString(3);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
//6.释放资源
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
}
总结
熟练掌握JDBC编程的6步,谢谢!