码迷,mamicode.com
首页 > 数据库 > 详细

JDBC

时间:2020-06-20 21:43:17      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:连接   rac   cal   图片   sys   static   数据库驱动   发送   host   

1、加载和注册驱动

技术图片

 

注意:在mysql8.0以上 动态加载驱动程序  

Class.forName("com.mysql.cj.jdbc.Driver");
  •  为什么这样可以注册驱动呢?

答案:查看com.mysql.cj.jdbc.Driver 或者com.mysql.jdbc.Driver 的源码,因为里面有一个DriverManager.registerDriver() 来注册数据库驱动

技术图片

 

 

2.jdbc的核心API

2.1 DriverManager 类

(一)DriverManage的作用

  (1)管理和注册驱动············上面已经提到

  (2)创建数据库的链接 

public class Demo {
public static void main(String[] args) throws SQLException {
  String url = "jdbc:mysql://localhost:3306/test";
    //1) 使用用户名、密码、 URL 得到连接对象
  Connection connection = DriverManager.getConnection(url, "root", "root");
    //com.mysql.jdbc.JDBC4Connection@68de145
  System.out.println(connection);
  }
}

 

2.2 Connection接口

(一)Connection的作用

    Connection接口,具体的实现类由数据库的厂商实现,代表一个连接对象

(二)Connection方法

技术图片

 

 

2.3 Statement接口

 (一)Statement 作用:

    代表一条语句对象,用于发送 SQL 语句给服务器,用于执行静态 SQL 语句并返回它所生成结果的对象。

 (二)Statement 方法:

  技术图片

2.4释放资源

1) 需要释放的对象: ResultSet 结果集, Statement 语句, Connection 连接
2) 释放原则:先开的后关,后开的先关。 ResultSet  -》 Statement  -》Connection
3) 放在哪个代码块中: finally

 

例子:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 创建一张学生表
*/
public class Demo4DDL {
  public static void main(String[] args) {
    //1. 创建连接
    Connection conn = null;
    Statement statement = null;
    try {
      conn = DriverManager.getConnection("jdbc:mysql:///day24", "root", "root");
      //2. 通过连接对象得到语句对象
      statement = conn.createStatement();
      //3. 通过语句对象发送 SQL 语句给服务器
      //4. 执行 SQL
       statement.executeUpdate("create table student (id int PRIMARY key auto_increment, name varchar(20) not null, gender boolean, birthday date)");
      //5. 返回影响行数(DDL 没有返回值)
       System.out.println("创建表成功");
    } catch (SQLException e) {
      e.printStackTrace();
    }
    //6. 释放资源
    finally {
      //关闭之前要先判断
      if (statement != null) {
        try {
          statement.close();
        } catch (SQLException e) {
          e.printStackTrace();
        }
       }
      if (conn != null) {
        try {
          conn.close();
        } catch (SQLException e) {
          e.printStackTrace();
        }
      }
    }
  }
}

 

JDBC

标签:连接   rac   cal   图片   sys   static   数据库驱动   发送   host   

原文地址:https://www.cnblogs.com/wlx6/p/13170196.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!