zoukankan      html  css  js  c++  java
  • JDBC(1):初使用

    今日一言:你不能一直做一些烂事,
         然后自己后悔,
         好像后悔有用一样,
         你需要变好。
              ——《马男波杰克》

    JDBC(一):IDEA初使用

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。


    前言

    使用工具:

    • IDEA
    • mysql-connector-java-8.0.18.jar
    • 待补充…

    导入jar包

    1. 在项目目录下新建Lib文件夹,并将mysql-connector-java-8.0.18.jar复制到该文件夹中。
    2. 右键该jar包文件,选择Add as Libaray…,搞定!

    JDBC基础六步骤

    1. 导入sql包

    // step 1. import required package
    import java.sql.*;

    2. 注册JDBC驱动程序

    // step 2. Register JDBC driver
    // Class.forName("com.mysql.jdbc.Driver"); //mysql 6.0以下
    Class.forName("com.mysql.cj.jdbc.Driver"); //mysql 6.0以上
    // 详见:https://www.runoob.com/note/34357

    3. 建立连接

    // step 3. open a connection
    // String DB_URL = "jdbc:mysql://localhost:3306"; //mysql 8.0 会报错
    String DB_URL = "jdbc:mysql://localhost:3306?useSSL=false&serverTimezone=Asia/Shanghai";
    // 详见:https://www.runoob.com/note/34357

    3.1 记一次异常


    Exception in thread "main" java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
    在连接数据库的URL中加入:allowPublicKeyRetrieval=true 即可。

    4. 执行查询

    // step 4. Execute a query
    Statement statement = connection.createStatement();
    String sql = "select * from mytable";
    ResultSet resultSet = statement.executeQuery(sql);
    while(resultSet.next()){
        //notion: columnIndex start at 1
        System.out.println(resultSet.getInt(1) + " " + resultSet.getString(2));
    }

    5. 提取数据

    // step 5. Extract data from resultset
    while(resultSet.next()){
        //notion: columnIndex start at 1
        System.out.println(resultSet.getInt(1) + " " + resultSet.getString(2));
    }

    6. 关闭连接

    // step 6. close the connection
    resultSet.close();
    statement.close();
    connection.close();

    运行结果

    1 LOS
    2 小鱼
    4 怡宝
    5 便利贴

  • 相关阅读:
    Apktool 和 Jeb 给出的不同的smali语法
    System.exit(0);和finish();,push原理
    Mac的环境变量
    Android Jni(Java Native Interface)笔记
    记录用到的一些linux命令和疑难解决
    记录一些好用的软件的名字
    数据分析准备过程
    独热编码 pandas get_dummies
    学习英语的方法
    精确率与回召率与 F1-Meature
  • 原文地址:https://www.cnblogs.com/rcklos/p/12840229.html
Copyright © 2011-2022 走看看