JDBC
1.1 JDBC快速入门
1.1.1 连接数据库基本操作
public class JdbcDemo1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 1.导入jar包
// com.mysql.jdbc.Driver 6.0+ 版本已经过时
// 2.注册驱动 它会导致类中的静态变量会被初始化,静态代码块也会被执行。com.mysql.cj.jdbc.Driver
Class.forName("com.mysql.cj.jdbc.Driver");
// 3.获取数据库连接对象 ?serverTimezone=UCT&useSSL=false 解决时区问题
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db1?serverTimezone=UCT&useSSL=false", "root", "root");
// 4.定义sql语句
String sql = "update goods set price = 3000 where name = '红米K30'";
// 获取执行SQL语句对象 Statement
Statement stmt = conn.createStatement();
// 执行语句
int count = stmt.executeUpdate(sql);
// 处理结果
System.out.println(count);
// 释放资源
stmt.close();
conn.close();
}
}
1.1.2 forName的意义
MySQL的Jar包中有这么一段代码
static {
try {
java.sql.DriverManager.registerDriver(new Driver());
} catch (SQLException E) {
throw new RuntimeException("Can't register driver!");
}
}
调用forName()方法,会加载这个类,初始化塔都属性,加载这个类的静态代码块