Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。使用JDBC查询数据库的结果:使用DriverManager.getConnection建立数据库连接,使用connection.createStatement()来执行sql语句。

package com.example.AIdemo.First;

import com.baidu.aip.imageclassify.AipImageClassify;
import com.baidu.aip.nlp.AipNlp;
import com.baidu.aip.ocr.AipOcr;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.sql.*;
import java.util.HashMap;

import static java.lang.Math.max;


//抽象出一个AI工具类
public class AI_func {

    public static int Max_id(String jdbcUrl, String Table) {
        String username = "root";
        String password = "你的密码";
        int cnt = 0;
        int inf = (1 << 30);
        int maxid = -inf;

        try {
            Connection connection = DriverManager.getConnection(jdbcUrl, username, password);

            /** DriverManager是JDBC的核心接口之一,它管理着一组数据库驱动程序,并根据用户请求提供对特定数据库的连接。
            DriverManager.getConnection(String url, String username, String password)是DriverManager接口中
            用于获取数据库连接的方法,其中url表示连接数据库的URL,username表示数据库登录名,password表示数据库登录密码。 */

            Statement statement = connection.createStatement();

            // 执行查询操作,将结果存储在ResultSet对象中
            String query = "SELECT * FROM " + Table;
            ResultSet resultSet = statement.executeQuery(query);

            /** `createStatement` 是 Java 编程语言中用于创建 SQL 语句的一个方法,位于 `java.sql` 包中。它属于
            JDBC(Java Database Connectivity)API,因此在 Java 中操作数据库时非常重要。这个方法的调用允许开发者
            建立到数据库的连接,并通过传入一个SQL语句来执行这些语句。使用流程:在使用 `createStatement` 时,通常需要先使
            用 `Connection` 对象建立到数据库的连接,然后创建一个 `Statement` 对象,并将SQL语句传给它。创建后,可以通
            过 `Statement` 来执行SQL查询或更新,并在完成操作后使用 `close()` 方法关闭与数据库的连接。
             这种方式适用于静态的SQL查询。*/

//            System.out.println("maxid: " + maxid);

            // 遍历结果集并处理数据
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                ++cnt;
                maxid = max(maxid, id);
            }

            /** 遍历结果集时,我们使用next()方法来移动到结果集的下一行。然后,使用getXXX()方法(例如getInt()、
            getString())来提取数据。最后,使用close()方法关闭结果集。 */

//            System.out.println("一共有 " + cnt + " 条记录\n");

            if(maxid == -inf)
                maxid = 0;
//            System.out.println("maxid: " + maxid);
            // 关闭连接、Statement和ResultSet
            resultSet.close();
            statement.close();
            connection.close();


        } catch (SQLException e) {
            e.printStackTrace();
        }
        /** 在进行任何数据库操作时,务必进行异常处理以处理潜在的错误情况。在上述代码示例中,我们使用了try-catch块来捕获
        SQLException异常,并在异常发生时打印错误信息。*/

        return maxid;
    }

    // 主函数
    public static void main(String[] args) {
        String jdbcUrl = "jdbc:mysql://127.0.0.1:3306/AItest?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC";
        String Table = "ocr_content";
        Max_id(jdbcUrl, Table);
    }
}