当前使用版本(必填,否则不予处理)

3.1.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

使用in查询直接套用Arrays.asList()出现SQL为 in STREAM DATA

重现步骤(如果有就写完整)

int val1 = 1; int val2 = 2; baseMapper.selectList( Wrappers.lambdaQuery().in(Column::getType, Arrays.asList(val1, val2)) )

如果将上述的val1和val2换成Integer类型或直接将1和2填入括号内则没有问题: baseMapper.selectList( Wrappers.lambdaQuery().in(Column::getType, Arrays.asList(Integer.valueOf(val1), Integer.valueOf(val2))) ) baseMapper.selectList( Wrappers.lambdaQuery().in(Column::getType, Arrays.asList(1,2)) )

报错信息

不报错,只是SQL拼错了查不出数据

Comment From: ShisanXing

附上原代码: `/* * 年度最佳作品 / private final static int GREAT_VOICE = 1;

/**
 * 年度最佳播客
 */
private final static int GREAT_ANCHOR = 2;

/**
 * 年度人气
 */
private final static int GREAT_INTERACTIVE = 3;

/**
 * 最佳领读人
 */
private final static int GREAT_LEAD_VOICE = 4;

List list1 = voiceAnnual2022Manager.list( Wrappers.lambdaQuery() .eq(VoiceAnnual2022DO::getTitle, keyword) .eq(VoiceAnnual2022DO::getDeleted, false) .in(VoiceAnnual2022DO::getBizType, param.getBizType() == null ? Arrays.asList(GREAT_VOICE, GREAT_INTERACTIVE, GREAT_LEAD_VOICE) : param.getBizType()) .eq(VoiceAnnual2022DO::getVerifyStatus, VerifyStatusEnum.ONE_SUCCESS.getType()) .last(" limit 5000 ") ); `

Comment From: ShisanXing

翻译的SQL: Execute SQL:SELECT id,user_id,voice_id,nick_name,title,biz_type,verify_status,level,original_creator,create_time,edit_time,deleted FROM qk_voice_annual_2022 WHERE deleted=0 AND title = '一只小可爱312' AND deleted = 0 AND biz_type IN (** STREAM DATA **) AND verify_status = 2 limit 5000

Comment From: ShisanXing

三元运算符写错了的问题,sorry