不同线程的连接无法读取在另一个线程中创建的表格?
创始人
2025-01-09 21:00:54
0

问题的解决方法是使用线程安全的数据库连接池来创建不同线程之间的连接。下面是一个使用HikariCP连接池的代码示例:

// 创建HikariCP连接池
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/test");
config.setUsername("username");
config.setPassword("password");
HikariDataSource ds = new HikariDataSource(config);

// 在不同的线程中使用连接
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> {
    try (Connection conn = ds.getConnection()) {
        // 在第一个线程中创建表格
        Statement stmt = conn.createStatement();
        stmt.executeUpdate("CREATE TABLE IF NOT EXISTS users (id INT PRIMARY KEY, name VARCHAR(255))");
    } catch (SQLException e) {
        e.printStackTrace();
    }
});

executor.submit(() -> {
    try (Connection conn = ds.getConnection()) {
        // 在第二个线程中读取表格
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT * FROM users");
        while (rs.next()) {
            System.out.println(rs.getInt("id") + " " + rs.getString("name"));
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
});

executor.shutdown();

在这个示例中,我们使用HikariCP连接池创建了两个不同的线程,并在第一个线程中创建了一个表格,同时在第二个线程中从数据库中读取该表格。注意每个线程都通过连接池获取了数据库连接,并在处理完成后关闭了它们的连接。这样,就可以安全地在不同的线程中使用连接来读取/写入数据库了。

相关内容

热门资讯

wpk德州透视辅助!微扑克辅助... wpk德州透视辅助!微扑克辅助器代码,(aapOker)真是是真的有挂(详细辅助详细教程);原来确实...
透视软件(wpk透视辅助)Wp... 透视软件(wpk透视辅助)Wpk辅助器(详细辅助2025新版教程)原本真的是有挂1)wpk透视辅助辅...
透视安装(德州ai辅助)德州a... 透视安装(德州ai辅助)德州ai机器人软件开发(详细辅助大神讲解)先前有挂1、下载好辅助软件之后点击...
透视教学(德州AI智能辅助机器... 透视教学(德州AI智能辅助机器人)wpk发牌(详细辅助必胜教程)真是真的有挂(1)透视教学(德州AI...
透视辅助(wpk有辅助挂)we... 透视辅助(wpk有辅助挂)wepoke能赢嘛(详细辅助2025新版技巧)切实是有挂;小薇(透视辅助)...
透视存在(aapoker有外挂... 透视存在(aapoker有外挂)微扑克辅助挂(详细辅助解说技巧)从来真的有挂您好,,确实是有挂的,很...
透视系统(wepoke真的有挂... 1、透视系统(wepoke真的有挂)aa扑克发牌机制(详细辅助解密教程)总是有挂。2、透视辅助简单,...
透视好友(wepoke辅助挂)... 透视好友(wepoke辅助挂)aapoker有后台操控吗(详细辅助安装教程)都是存在有挂1、在ai机...
透视存在(微扑克有辅助挂)aa... 透视存在(微扑克有辅助挂)aapoker发牌规律(详细辅助专业教程)果然真的是有挂;透视存在(微扑克...
透视辅助(aapoker俱乐部... 透视辅助(aapoker俱乐部)wepkoe有外挂么(详细辅助力荐教程)先前真的有挂1、打开德州po...