回顾一下JDBC。
通过JDBC基本流程连接数据库,一般称为六部曲:
第一步:导入驱动包(这里用的是5.1.47版本的 地址是5.1.48的——官方下载地址)
第二步:加载驱动类-反射
Class.forName("com.mysql.jdbc.Driver");
我们可以点进去看,是通过静态块进行加载的。
第三步:获取连接(与数据库进行联通操作)
conn= DriverManager.getConnection("jdbc:mysql://地址:端口号/数据库的名字?useSSL=false&characterEncoding=utf-8","用户","密码");
第四步:创建状态参数(流<--->既能读又能写)用一个结果集装起来
pstat = conn.prepareStatement("select * from student");
第五步:执行数据库操作--增删查改(查是最复杂的。)
// 如果是更新操作,返回值是更新数据库的行数
// int count = pstat.executeUpdate();//返回值--->更新数据库的行数
// System.out.println(count);
//这里是读操作(查询)
rs = pstat.executeQuery();
while(rs.next()){
int sid = rs.getInt("sid");
String sname = rs.getString("sname");
String ssex = rs.getString("ssex");
int sage = rs.getInt("sage");
System.out.println(sid+"--"+sname+"--"+ssex+"--"+sage);
}
第六步:所有的对象关闭
rs.close();
pstat.close();
conn.close();
看一下对应数据库的结果:
一个完整的代码:
package JDBC;
import java.sql.*;
public class TestMain {
public static void main(String[] args){
Connection conn = null;
PreparedStatement pstat= null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库的名字?useSSL=false&characterEncoding=utf-8","用户","密码");
pstat = conn.prepareStatement("select * from student");
rs = pstat.executeQuery();
System.out.println("编号"+"--"+"姓名"+"--"+"性别"+"--"+"年龄");
while(rs.next()){
int sid = rs.getInt("sid");
String sname = rs.getString("sname");
String ssex = rs.getString("ssex");
int sage = rs.getInt("sage");
System.out.println(sid+"--"+sname+"--"+ssex+"--"+sage);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if(rs!=null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(pstat!=null) {
pstat.close();
}
} catch (SQLException e) {
e.printStackTrace();
}try {
if(conn!=null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("执行完毕");
}
}
}
来源:CSDN
作者:GudeNeimu
链接:https://blog.csdn.net/m0_38051388/article/details/103470926