JDBC
快速入门
- 导入jar包
- 以 mysql 为例
- 注册驱动
Class.forName(“mysql.jdbc.Driver”)
- 获取连接
Connection conn = DriverManager.getConnection(url, username, password);
- 定义Sql语句
String sql = “update …”
- 获取执行Sql对象
Statement stmt = conn.createStatement();
- 执行SQL
stmt.executeUpdata(sql);
- 处理返回结果
- 释放资源
public class JDBCDemo {public static void main(String[] args) throws Exception {// 1. 注册驱动Class.forName("com.mysql.jdbc.Driver");// 2. 获取连接String url = "jdbc:mysql://127.0.0.1:3306/db1" ;String username = "admin";String password = "123456";Connection conn = DriverManager.getConnection(url, username, password);// 3. 定义sql语句String sql = "update account set money = 2000 where id = 1 ";// 4. 获取执行sql的对象Statement stmt = conn.createStatement();// 5. 执行sqlint count = stmt.executeUpdate(sql);// 6. 处理结果System.out.println(count);// 7. 释放资源stmt.close();conn.close();}
}
JDBC API 详解
Driver Manager
- 注册驱动:
DriverManager.registerDiver();
- 获取连接:
DriverManager.getConnection(url, username, password)
- url 连接路径
- 语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2…
- 示例:
jdbc:mysql://127.0.0.1:3306/db1
- 示例:将安全连接禁用即可消除警告
jdbc:mysql://127.0.0.1:3306/db1?uesSSL=false
Connection
-
获取执行sql对象
-
管理事务
-
mysql 事务管理
- 开启事务:BEGIN; /START TRANSACTION;
- 提交事务:COMMIT
- 回滚事务:ROLLBACK
- Mysql 默认自动提交事务
-
JDBC 事务管理:Connection接口中定义了3个对应的方法
- 开启事务:
setAutoCommit(bool autoCommit)
:true为自动提交事务,false为手动提交事务,即为开启事务 - 提交事务:commit()
- 回滚事务:rollback()
- 开启事务:
-
注意 : Java 中 通过 try - catch 机制来实现 事务的回滚
Statement
-
执行 sql 语句 :
int excuteUpdate(sql)
:执行 DML 和 DDL 语句
返回值:(1)DML语句影响的行数;(2)DDL语句执行后,执行成功也可能会返回0ResultSet executeQuery(sql)
:执行DQL语句
返回值:Result结果集对象
补充 :
- DDL :对表和库的增删改操做
- DML:对数据的增删改操作
- DQL:对数据的查询操作
ResultSet
-
封装了DQL查询语句的结果
- 获取查询结果
boolean next() :(1) 将光标从当前位置向前移动一行 (2)判断当前行是否为有效行
返回值 : true : 有效行,当前行有数据; false :无效行,当前行没有数据;
-
xxx getXxx(参数):获取数据
- xxx 数据类型;如
int getInt(参数)
String getString(参数)
- 参数:
- int 列的编号
- String 列的名称
- xxx 数据类型;如