gpt4 book ai didi

java - Java中如何给带有in关键字的MySQL语句赋值?

转载 作者:行者123 更新时间:2023-11-29 06:48:45 25 4
gpt4 key购买 nike

传递的参数为int类型,数量不确定。在参数不确定的情况下如何一次性传递所有参数?

String SQL = "select * from table where enterprise_id in (?,?,?)";
int a,b,c = 1,2,3;//uncertain quantity
this.server.findBySql(SQL,a,b,c);

有没有好的方法可以避免遍历参数和拼接查询语句?

最佳答案

我认为传递列表最简单的方法是使用
org.springframework.jdbc.core.namedparam.MapSqlParameterSource.MapSqlParameterSource()
可以为准备好的语句采用任何类型的参数。

因此,就您的情况而言,您可以像这样修改您的 SQL 以获取列表参数:

String sql = "select * from table where enterprise_id in (:listOfInt)";.

然后添加列表作为参数:

MapSqlParameterSource sqlParams = new MapSqlParameterSource();        
sqlParams.addValue("listOfInt", Arrays.asList(1,2,3));

将其传递给org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate实例来执行这样的查询,

this.namedParameterJdbcTemplate.queryForList(sql, sqlParams);

这将为您提供一个结果集,进一步假设您已在类级别创建了 NamedParameterJdbcTemplate 的实例。

关于java - Java中如何给带有in关键字的MySQL语句赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48393912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com