概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库。
JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
JDBC快速入门,Java程序实现:
连接Study数据库,向account表中的id=1的balance字段值加上500。表数据如下:
-
导入驱动jar包:mysql-connector-java-5.1.48.jar
-
复制mysql-connector-java-5.1.37-bin.jar到项目的一个目录下
-
右键-->Add as Library
-
-
注册驱动
// 2、注册驱动 Class.forName("com.mysql.jdbc.Driver");
Driver所在的包:
package com.mysql.jdbc;
-
获取数据库连接对象 Connection
// 3、获取数据库连接对象 Connection connection = DriverManager.getConnection( "jdbc:mysql://localhost:3306/Study", "用户名", "密码");
-
定义SQL语句
// 4、定义SQL语句 // 将account表中的id=1的balance字段值加上500 String sql = "UPDATE account Set balance = balance + 500 WHERE id = 1;";
-
获取执行SQL语句的对象 Statement
// 5、获取执行sql的对象 Statement Statement statement = connection.createStatement();
-
执行SQL
// 6、执行SQL语句:执行成功,返回 1,即有一条数据受到了影响 int returnResult = statement.executeUpdate(sql);
-
处理结果
// 7、查看是否执行成功,有多少条数据收到影响 System.out.println(returnResult);
-
释放资源
// 8、释放资源 statement.close(); connection.close();
- 现在查看一下表中的数据
发现表中id=1的,balance字段值增加了500。
控制台输出:1,表示有一条数据受到了影响。
程序代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class JdbcDemo01 { public static void main(String[] args) throws ClassNotFoundException, SQLException { // 1、导入jar包:mysql-connector-java-5.1.48.jar // Add as Library ... // 2、注册驱动 Class.forName("com.mysql.jdbc.Driver"); // 3、获取数据库连接对象 Connection connection = DriverManager.getConnection( "jdbc:mysql://localhost:3306/Study", "用户名", "密码"); // 4、定义SQL语句 // 将account表中的id=1的balance字段值加上500 String sql = "UPDATE account Set balance = balance + 500 WHERE id = 1;"; // 5、获取执行sql的对象 Statement Statement statement = connection.createStatement(); // 6、执行SQL语句 int returnResult = statement.executeUpdate(sql); // 7、查看是否执行成功 System.out.println(returnResult); // 8、释放资源 statement.close(); connection.close(); } }
运行程序虽然执行成功,不过会抛出警告。要想去除警告,只需要在获取数据库连接对象的时候,更改一下URL即可:
// 更改前: jdbc:mysql://localhost:3306/Study // 更改后 jdbc:mysql://localhost:3306/Study?useSSL=false