JDBC 详细介绍
JDBC 案例介绍
//1 导入对应的驱动包
//2. 注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 3. 获取数据库的连接对象
Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8&serverTimezone=UTC", "root", "sj123");
System.out.println(connection);
//4. 定义sql 语句
String sql = "update user set code ='aa1' where name ='孙杰' ";
//5. 获取执行sql的对象,statement
Statement statement = connection.createStatement();
//6. 执行sql
int count = statement.executeUpdate(sql);
System.out.println(count);
//7. 释放资源
statement.close();
connection.close();
2、 详解各个对象
- DriverManager 驱动管理对象
- 功能
- 注册驱动
Class.forName(“com.mysql.cj.jdbc.Driver”);
通过查看源码发现,在com.mysql.jdbc.Driver 类中存在静态代码块 static{
DriverManager.registerDriver(new Driver());
}
注意:mysql5 之后的驱动jar 包可以省略注册驱动的步骤 - 获取数据库链接
public static Connection getConnection(String url, String user, String password)
- 注册驱动
- 功能
- Connection 数据库连接对象
功能1. 获取执行sql 的对象 Statement createStatement(); PreparedStatement prepareStatement(String sql); 2. 管理实务: * 开启事务: void setAutoCommit(booleam autoCommit); * 提交事务 void commit(); * 回滚事务: void rollback();
- Statement 执行sql的对象
1. 执行sql boolean execute(string sql); //执行sql int executeUpdate(string sql);//执行DML语句(insert,update, delete) , DDL(create, alter,drop)语句 *返回影响的行数 2 ResultSet executeQuery(string sql); //执行DQL (select)语句
- ResultSet 结果集对象
while (resultSet.next()){ System.out.println(resultSet.getObject("name").toString()); }
- PreparedStatement 执行sql的对象
本作品采用《CC 协议》,转载必须注明作者和本文链接