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