SpringMVC前端字段多选查询(sql in 关键字)

本文介绍如何在JSP页面使用多选下拉框组件,通过后端Controller处理多选数据,并利用MyBatis动态SQL实现数据库查询。具体包括JSP代码展示、Controller参数处理、DAO层方法定义及Mapper文件中IF和FOREACH元素的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、jsp

<div class="col-md-3">
	<sys:codeselectmul name="pdjg" optionsList="${gfunc:getSysCode('pdjg') }" cssClass="bs-select form-control"></sys:codeselectmul>
</div>		

2、controller

//前端以“字段1,字段2,...”字符串传送到后端
public String getDataList(Data_U record, Model model) {
	//将多选字段添加入Map中,方便mybatis查询
	record.addPara("pdjg",record.getPdjg());
	...
}


public Map<String, Object[]> params = new HashMap<String,Object[]>();
public void addPara(String fieldName, String values){
	if(values != null && values.length() > 0){
		String[] lst = values.split(",");
		params.put(fieldName, lst);
	}
 }

3、dao

public List<Data_U> getDataList(Page<Data_U> page, @Param("record")Data_U record);

4、mapper

<if test="record.pdjg != null"> 
   AND PDJG in 
    <foreach item="item" index="index" collection="record.params.pdjg" 
         open="(" separator="," close=")">
         #{item}
    </foreach> 
</if> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值