一 、概念
1. 概念:Java DataBase Connectivity Java 数据库连接 ,Java语言操作数据库
2. JDBC本质:其实是官方(Sun)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行代码的是驱动jar包中的实现类。 多态
二. 快速入门
1.步骤
1. 导入驱动jar包 `mysql-connector-java-5.1.37-bin.jar`
1. 复制``mysql-connector-java-5.1.37-bin.jar`到项目的libs目录下
2. 右键---> Add As Library
2. 注册驱动
3. 获取数据库连接对象 Connection
4. 定义sql
5. 获取执行sql语句的对象 Statement
6. 执行sql,接收返回结果
7. 处理结果
8. 释放资源
-
代码实现
//1.导入驱动jar包 //2.注册驱动 Class.forName("com.mysql.jdbc.Driver"); //3.获取数据库连接对象 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root"); //4.定义sql语句 String sql = "update account set balance =500 where id =1"; //5.获取执行sql的对象 Statement Statement stmt = conn.createStatement(); //6.执行sql int count = stmt.executeUpdate(sql); //7.处理结果 System.out.println(count); //8.释放资源 stmt.close(); conn.close();
2.详解各个对象
1. DriverManager :驱动管理对象
-
功能
-
注册驱动 :告诉程序该市有哪一个数据库驱动jar包
static void registerDriver(Driver driver)
:注册与给定的驱动程序 DriverManager 。写代码使用:
Class.forName("com.mysql.jdbc.Driver");
通过查看源码发现在
com.mysql.jdbc.Driver
类中存在静态代码块static { try { java.sql.DriverManager.registerDriver(new Driver()); } catch (SQLException E) { throw new RuntimeException("Can't register driver!"); } }
注意:MySQL 5之后的驱动jar包可以省略注册驱动的步骤。
-
获取数据库连接
-
方法:
static Connection getConnection(String url, String user, String password)
尝试建立与给定数据库URL的连接。 -
参数:
`url`:指定连接的路径 语法:`"jabc:mysql://ip地址:端口号/数据库名称"` 例子:`"jdbc:mysql://localhost:3306/db3"` 细节:如果连接的是本机的mysql服务器,并且mysql服务默认端口是3306,则url可以简写 为`"jdbc:mysql:///db3"` `user`:用户名 `password`:密码
-
-
2. Connection:数据库连接对象
- 功能
- 获取执行sql的对象:
Statement createStatement()
:创建一个 Statement对象,用于将SQL语句发送到数据库。PreparedStatement prepareStatement(String sql)
:创建一个 PreparedStatement对象,用于将参数化的SQL语句发送到数据库。
- 管理事务:
- 开启事务:
void setAutoCommit(boolean autoCommit)
:调用该方法设置参数为false,开启事务 - 提交事务:
void commit()
- 回滚事务:
void rollback()
- 开启事务:
- 获取执行sql的对象: