博客
关于我
PreparedStatement 查询 In 语句 setArray 等介绍。
阅读量:797 次
发布时间:2023-03-04

本文共 795 字,大约阅读时间需要 2 分钟。

使用Java的prepareStatement方法查询数据库时,遇到IN操作中的多个参数问题,正确的做法是为每个参数单独设定。以下是解决方案:

  • 将多个ID存储在一个字符串中,并分割成数组。
  • 生成正确的参数列表字符串,确保每个ID后面有一个问号。
  • 使用prepareStatement方法,确保参数数量正确。
  • 单独为每个ID设定参数,避免使用逗号分隔字符串导致的问题。
  • 最终解决方案代码如下:

    String tids = "3152892500240988,3152893300713891";String[] tidsAry = tids.split(",");StringBuffer buffer = new StringBuffer("(");for (int i = 0; i < tidsAry.length; i++) {    buffer.append("?").append(i == tidsAry.length - 1 ? "" : ", ");}buffer.append(")");ps = conn.prepareStatement("SELECT tid, jdp_response FROM jdp_tb_trade WHERE tid IN (" + buffer.toString() + ") ORDER BY created DESC");for (int i = 0; i < tidsAry.length; i++) {    ps.setLong(i + 1, Long.parseLong(tidsAry[i]));}ResultSet rs = ps.executeQuery();while (rs.next()) {    System.out.println(rs.getString(1));}

    通过以上方法,可以正确查询多条数据。

    转载地址:http://imxfk.baihongyu.com/

    你可能感兴趣的文章
    QT样式表——url路径
    查看>>
    QT数据库(三):QSqlQuery使用
    查看>>
    QT教程5:消息框
    查看>>
    SpringBoot中集成阿里开源缓存访问框架JetCache实现声明式实例和方法缓存
    查看>>
    pom.xml中提示web.xml is missing and <failonmissingw>...
    查看>>
    Pomelo开发中Web客户端开发API简介
    查看>>
    QT教程2:QT5的体系构架
    查看>>
    PON架构(全光网络)
    查看>>
    PoolingHttpClientConnectionManager原理剖析
    查看>>
    QT教程1:ubuntu18.04安装QT5
    查看>>
    POP-一个点击带有放大还原的动画效果
    查看>>
    POP3 协议在计算机网络中的优缺点
    查看>>
    qt批量操作同类型控件
    查看>>
    Portaudio笔记-WASAPI
    查看>>
    position:fixed失效情况
    查看>>
    Qt开发笔记:QGLWidget、QOpenGLWidget详解及区别
    查看>>
    Position属性四个值:static、fixed、absolute和relative的区别和用法
    查看>>
    POSIX thread编程中关于临界区内条件变量的分析
    查看>>
    POSIX与程序可移植性
    查看>>
    posix多线程有感--自旋锁
    查看>>