SQL语句中字段in(?) ?后面要跟上参数顺序 ?的参数直接是List<String>
例子:
public List<UserMemberInfoModel> getMemberCardListByAssociatedId(String appId, String associatedId, List<String>clubIdList) { StringBuilder sql = new StringBuilder( "select th_.id," + " th_.member_type_id ," + " th_.card_no," + " th_.club_id," + " th_.amount," + " th_.freeze_amount," + " me_.name as member_type_Name," + " me_.discount as discount," + " me_.style_id as styleId," + " me_.description as description," + " th_.chain_id," + " if(th_.chain_id = '0', '', sc_.chain_name) as chain_name," + " sc_.name as club_name," + " sc_.image as club_image" + " from spa_member_info th_" + " left join spa_member_type me_ on me_.id = th_.member_type_id" + " left join spa_user u on u.id = th_.user_id" + " JOIN spa_club sc_ on sc_.id = th_.club_id" + " where u.associated_id = ?1 and th_.status <> 3 and sc_.id in (?2)"); String[] columnNames = {"id", "memberTypeId", "cardNo", "clubId", "amount", "freezeAmount", "memberTypeName", "discount", "styleId","description", "chainId", "chainName","clubName","clubImage"}; return jdbcDaoImpl.queryDataList(sql.toString(), columnNames, UserMemberInfoModel.class, associatedId, clubIdList); }