JDBC 详细介绍

JDBC 案例介绍

//1 导入对应的驱动包
//2. 注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 3. 获取数据库的连接对象
Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8&serverTimezone=UTC", "root", "sj123");
System.out.println(connection);
//4. 定义sql 语句
String sql = "update user set code ='aa1' where name ='孙杰' ";
//5. 获取执行sql的对象,statement
Statement statement = connection.createStatement();
//6. 执行sql
int count = statement.executeUpdate(sql);
System.out.println(count);
//7. 释放资源
statement.close();
connection.close();

2、 详解各个对象

  • DriverManager 驱动管理对象
    • 功能
      1. 注册驱动
        Class.forName(“com.mysql.cj.jdbc.Driver”);
        通过查看源码发现,在com.mysql.jdbc.Driver 类中存在静态代码块 static{
        DriverManager.registerDriver(new Driver());
        }
        注意:mysql5 之后的驱动jar 包可以省略注册驱动的步骤
      2. 获取数据库链接
        public static Connection getConnection(String url,
          String user, String password)
  • Connection 数据库连接对象
    功能
      1. 获取执行sql 的对象
      Statement createStatement();
      PreparedStatement prepareStatement(String sql);
      2. 管理实务:
      * 开启事务: void setAutoCommit(booleam autoCommit);
      * 提交事务 void commit();
      * 回滚事务: void rollback();
  • Statement 执行sql的对象
      1. 执行sql
       boolean execute(string sql); //执行sql
       int executeUpdate(string sql);//执行DML语句(insert,update, delete)  , DDL(create,  alter,drop)语句
      *返回影响的行数 
      2 ResultSet executeQuery(string sql); //执行DQL  (select)语句
  • ResultSet 结果集对象
      while (resultSet.next()){
      System.out.println(resultSet.getObject("name").toString());
      }
  • PreparedStatement 执行sql的对象
本作品采用《CC 协议》,转载必须注明作者和本文链接
每天进步一点点
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!