JDBC开始案例

JDBC开始案例

使用JDBC的基本步骤
1.注册驱动(4.0版本以上可以不加)
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
2.建立连接
DriverManager:用于管理一组JDBC驱动程序的基本服务,当调用方法getConnection时, DriverManager将尝试从初始化中加载的驱动程序中找到合适的驱动程序,并使用与当前小程序或应用程序相同的类加载器显式加载驱动程序
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/数据库名称?serverTimezone=UTC", "登录名", "登录密码");
3.创建statement
statement:用于执行静态SQL语句并返回其生成的结果的对象,
默认情况下,每个Statement对象只能有一个ResultSet对象同时打开。 因此,如果一个ResultSet对象的读取与另一个对象的读取交错,则ResultSet对象必须由不同的Statement对象生成。 在所有执行方法Statement接口隐式关闭当前ResultSet声明的对象,如果一个开放的存在。
Statement st = conn.createStatement();
4.执行sql,得到ResultSet
ResultSet:表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
String sql = "select * from 表名";
ResultSet rs = st.executeQuery(sql);
5.遍历结果集
while(rs.next()) { }
6.释放资源

案例一:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.itheima.util.JDBCUtil 
public class MainTest {
    
    
  public static void main(String[] args){
    
    
  	//1.注册驱动
  	try {
    
    
  	// Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
  	} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e1) {
    
    
  	}
  	//2.建立连接
  	Connection conn = null;
  	Statement st = null;
  	ResultSet rs = null;
  	try {
    
    
  	 conn = DriverManager.getConnection("jdbc:mysql://localhost/day06?serverTimezone=UTC", "root", "123456");
  	 //3.创建statement,跟数据打交道,一定需要这个对象
  	 st = conn.createStatement();
  	 //4.执行查询,得到结果集
  	 String sql = "select * from category";
  	 rs =  st.executeQuery(sql);
  	 //5.遍历查询每一条记录
  	 while(rs.next()) {
    
    
  	  int cid = rs.getInt("cid");
  	  String cname = rs.getString("cname");
  	  String cdesc = rs.getString("cdesc");
  	  System.out.println("cid="+cid+"-cname="+cname+"-sdesc="+cdesc);
  	 }
  	} catch (SQLException e) {
    
    
  	 e.printStackTrace();
  	}finally {
    
    
  	 JDBCUtil.release(conn, st, rs); //释放资源工具类(自己写)
  	 }
      }
  }

释放资源工具类(自己写)

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
    
    
 public static void release(Connection conn,Statement st,ResultSet rs) {
    
    
  closeRs(rs);
  closeSt(st);
  closeConn(conn);
 }
 private static void closeRs(ResultSet rs) {
    
    
  try {
    
    
   if(rs != null) {
    
    
    rs.close();
   }
  }catch(SQLException e) {
    
    
   e.printStackTrace();
  }finally {
    
    
   rs = null;
   }
  }
 private static void closeSt(Statement st) {
    
    
  try {
    
    
   if(st != null) {
    
    
    st.close();
    }
   }catch(SQLException e) {
    
    
    e.printStackTrace();
   }finally {
    
    
    st = null;
    }
  }
  private static void closeConn(Connection conn) {
    
    
   try {
    
    
    if(conn != null) {
    
    
     conn.close();
     }
    }catch(SQLException e) {
    
    
     e.printStackTrace();
     }finally {
    
    
      conn = null;
      }
     }
    }

JDBC详细例子
JDBC学习网站:https://how2j.cn/k/jdbc/jdbc-mysql/386.html?p=144436

猜你喜欢

转载自blog.csdn.net/weixin_46083166/article/details/105560933