• 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 便利贴

  • 相关阅读:
    centos7下安装erlang
    centos7下升级git版本
    pytest失败重跑插件: pytest-rerunfailures使用与坑(全网独家精华)
    pytest-assume插件(全网最详细解释):多重断言执行
    pytest踩坑记:NameError: name 'pytest' is not defined
    pytest-ordering:指定pytest的case运行顺序的插件
    pytest中print的坑
    pytest测试入门篇(ExitCode退出码)
    httprunner3.x遇到的问题(hrun make报错)
    httprunner3.x(入门介绍篇)
  • 原文地址:https://www.cnblogs.com/rcklos/p/12840229.html
Copyright © 2020-2023  润新知