jdbc prepareStatements用于IN中的多个值 [英] jdbc preparedStatements for multiple value inside IN

查看:147
本文介绍了jdbc prepareStatements用于IN中的多个值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用 IN 设置sql的值,该值可以容纳诸如 ... WHERE ... status IN(4,6,7); 之类的变量数字?

How to set values for sql with IN which can hold variable numbers like, ... WHERE ...status IN (4, 6,7 ); ?

PreparedStatement ps = con.prepareStatement(
              "SELECT ea.* FROM employeeAssignment ea "
            + "JOIN employee e ON e.employeeID = ea.employeeID "
            + "WHERE e.resourceID = ? and ea.status IN (?);");
ps.setInt(1, 75); 
ps.setInt(2, someArray/some thing other?); 

推荐答案

您可以根据需要传入的状态码生成SQL IN子句.因此,如果您的状态为IN (4,6,7),则可以生成SQL语句结尾与代码相同的问号数量:IN (?,?,?).

You could generate the SQL IN clause according to how many status codes you need to pass in. So if your status is IN (4,6,7) then you could generate an SQL statement ending with the same number of question marks as codes: IN (?,?,?).

这篇关于jdbc prepareStatements用于IN中的多个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆