【发布时间】:2018-07-03 17:55:27
【问题描述】:
我正在使用spring JDBCTemplate。
我有一个场景,需要传递给我的查询函数的参数是有条件的/可选的。例如,我有以下代码:
List<RealTimeDTO> result = jdbcTemplate.query(sql, new Object[] {custId,
number, requestType, startDate, endDate}, new CCCRowMapper());
在代码中,我传入了custId, number, requestType, etc. 但是,requestType 是一个可选参数,可能会以null 或empty 的形式返回,所以我不希望它传入Object[] if它是null 或empty。
我能做些什么来处理这种情况?
我可以引入逻辑,我只将我想要的参数传递给Object[],但是,我想知道是否有一个已经内置的功能可以处理这个而不是我重新发明轮子。
【问题讨论】:
-
“我该如何处理这种情况?”
if声明!! -
@Andreas 是的天才,我知道。阅读最后一句话。
-
不将 null requestType 传递给 Object[] 数组很简单。如何动态删除 where 条件
AND requestType = ?? -
当我面对动态 sql 时,我创建列表并将参数添加到 if 语句中的列表中,并将列表作为 jdbctemplate 的参数传递。
-
@Maxim 这正是我正在做的,但结果却太乱了。想知道是否有更清洁的方法。
标签: java spring jdbctemplate