如何将动态值从java传递给sql(db2)IN语句

时间:2017-12-08 15:50:55

标签: jdbc

我必须将List从java传递给JDBC查询(我用xml文件编写)。

列出transactionTypeStringList,它可以有3或6个

在将其传递给查询之前,我已使用以下代码连接所有列表值以连接

transactionTypeString=  String.join("',' ", transactionTypeStringList);

transactionTypeString= "'"+transactionTypeString+ "'";

查询:

select count(*) from transaction where transactiontype in (?);

我正在使用db2 db,当我运行程序时,我遇到以下异常:

引起:com.ibm.db2.jcc.am.SqlDataException:DB2 SQL错误:SQLCODE = -302,SQLSTATE = 22001,SQLERRMC = null,DRIVER = 3.64.96

当我搜索此错误代码时,它指出“插入数据库表列的数据大于指定的列长度”。我理解,因为我正在通过值列表来替换单个? 但是现在我不知道如何将多个值从java代码传递给jdbc来替换单个?。

我不想创建多个查询(一个有3个,另一个有6个值)。请帮我解决这个问题。

0 个答案:

没有答案