JDBC快速入门

1. 概念:

Java DataBase Connectivity  Java 数据库连接, Java语言操作数据库

* JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。

2. 快速入门:

  * 步骤:

    1. 导入驱动jarmysql-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. 释放资源

3.各个对象

  1. DriverManager:驱动管理对象
  2. Connection:数据库连接对象
  3. Statement:执行sql的对象
  4. ResultSet:结果集对象,封装查询结果
  5. PreparedStatement:执行sql的对象

4.代码实现

JDBC增加数据

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class demo02 {
public static void main(String[] args) {
Statement stat = null;
Connection conn = null;
try {
// 注册驱动
Class.forName("com.mysql.cj.jdbc.Driver"); // 在这发生异常
// 获取连接对象 conn = DriverManager.getConnection("父:子://本机地址/库名?时区","数据库账号","数据库密码")
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day1?serverTimezone=UTC", "root", "root");
// 定义SQL语句
String sql = "INSERT INTO customer VALUES(null,'小明','456465486','110000',4,5500,null)";
// 获取执行SQL语句的对象
stat = conn.createStatement();
// 执行 并 获取返回值
int count = stat.executeUpdate(sql);
System.out.println(count);

} catch (SQLException | ClassNotFoundException throwables) {
throwables.printStackTrace();
} finally {
if (stat != null){
try {
stat.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}

if (conn != null){
try {
stat.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
}

查询数据
import java.sql.*;

public class demo03_select {

public static void main(String[] args) {
Connection conn = null;
Statement stat = null;
ResultSet resultSet = null;
try {
// 注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 获取连接对象
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day1?serverTimezone=UTC", "root", "root");
// 获取执行SQL语句的对象
stat = conn.createStatement();
// 定义SQL语句
String sql = "SELECT * FROM customer";
// 执行 并 获取返回值
resultSet = stat.executeQuery(sql);

while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
double salary = resultSet.getDouble("salary");
System.out.println("id--" + id + "--name--" + name + "--salary--" + salary);
}

} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
if (resultSet != null){
try {
resultSet.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}

if (stat != null) {
try {
stat.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}

if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}

 

posted @ 2020-10-26 20:25  a'ゞ阿威  阅读(86)  评论(0)    收藏  举报