如何在MySQL的SQL查询中将ArrayList 作为IN子句传递

如何在MySQL的SQL查询中将ArrayList 作为IN子句传递,第1张

如何在MySQL的SQL查询中将ArrayList 作为IN子句传递

使用正确数量的标记构建SQL语句,并设置所有值。

注意:数据库对允许的参数数量有限制,尽管对于MySQL(65535)来说非常高。

char[] markers = new char[list.size() * 2 - 1];for (int i = 0; i < markers.length; i++)    markers[i] = (i & 1 == 0 ? '?' : ',');String sql = "select * from employee where id in (" + markers + ")";try (PreparedStatement stmt = conn.prepareStatement(sql)) {    int idx = 1;    for (String value : list)        stmt.setString(idx++, value);    try (ResultSet rs = stmt.executeQuery()) {        while (rs.next()) { // pre here        }    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5490593.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存