JDBC

1.加载驱动

Class.forName("com.mysql.cj.jdbc.Driver");// MySQL8.0+固定写法,加载驱动
//mysql 5.+的版本加载驱动com.mysql.jdbc.Driver; 
//8.0后的版本是com.mysql.cj.jdbc.Driver

2.提供url,用户信息

mysql端口号--3306
协议://主机地址:端口号/数据库名?参数1&参数2&参数3 (? 问号用来连接参数)

String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8" +
               "&useSSL=false&serverTimezone=UTC";    

//        useUnicode=true  表示支持中文
//       characterEncoding=utf8防止乱码
//       mysql的版本是5.7之后的版本必须要加上useSSL=false
//      mysql5.7以及之前的版本则不用进行添加useSSL=false,会默认为false,一般情况下都是使用useSSL=false
//      useSSL=true是进行安全验证,一般通过证书或者令牌什么的,useSSL=false就是通过账号密码进行连接
//      mysql8.0后的版本useSSL=false
//       并且要加上 serverTimezone=UTC  (时区)    

3.进行连接,创建数据库对象 connection代表数据库

Connection connection = DriverManager.getConnection(url, usename, password);

4.创建执行sql语句的对象

Statement statement = connection.createStatement();

5.用对象来执行语句

statement.executeQuery(sql);   //查询语句
 statement.executeUpdate()     //更新,插入,删除都用这个,返回一个受影响的行数
 statement.execute(sql);      ///可以执行任何操作,效率低

ResultSet resultSet = statement.executeQuery(sql); //返回的结果集
resultSet.getObject();//当不知道获取的列是什么类型时,可以用getObject()
resultSet.getString();
resultSet.getInt();
resultSet.getDouble();
resultSet.getFloat();
resultSet.getDate();

resultSet.beforeFirst();  //移动到最前面
resultSet.afterLast();  //移动到最后面
resultSet.next();  //移动到下一个数据
resultSet.previous();  //移动到前一行
resultSet.absolute(row);  //移动到指定行

6.释放连接

从内向外,依次关闭

package com.jdbc.test1;

import com.mysql.jdbc.Driver;

import java.sql.*;

public class Jdbc01 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.先加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");//mysql8.0后固定写法,加载驱动  
        //2.提供url,和用户信息
        String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8" +
                "&useSSL=false&serverTimezone=UTC";
      
        String usename = "root";
        String password = "0000";

        //3.进行连接,创建数据库对象   connection代表数据库
        Connection connection = DriverManager.getConnection(url, usename, password);

        //4.创建执行SQL的对象  Statement来执行sql对象  statement就相当于编译器去编写,编译sql语句
        Statement statement = connection.createStatement();

        //5.用对象来执行sql语句
        String sql = "SELECT * FROM users";

        //返回的结果集,结果集中封装了我们全部查询出来的结果
        ResultSet resultSet = statement.executeQuery(sql); //返回的结果集
        while (resultSet.next()) {
            System.out.println("id=" + resultSet.getObject("id"));  //当不知道获取的列是什么类型时,统一为getObject()
            System.out.println("NAME=" + resultSet.getObject("NAME"));
            System.out.println("PASSWORD=" + resultSet.getObject("PASSWORD"));
            System.out.println("email=" + resultSet.getObject("email"));
            System.out.println("birthday=" + resultSet.getObject("birthday"));
        }
        //6.释放连接
        resultSet.close();
        statement.close();
        connection.close();
    }
}

posted @ 2022-12-05 21:58  微风抚秀发  阅读(42)  评论(0)    收藏  举报