JeeFast是一款基于SpringBoot+Mybatis-Plus+Bootstrap+Vue搭建的JAVA WEB快速开发平台
具有如下特点
1,友好的代码结构及注释,便于阅读及二次开发
2,实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术
3,灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求
4,完善的代码生成机制,可生成entity、xml、dao、service后台代码,减少70%以上的开发任务
在实际的开发中会用到向map文件中传递多个值,这里以推荐和不推荐为案例,给大家分享一下这个知识点
首先 看效果图:
js代码 :
updateShow1:function(){
var noticeIds = getSelectedRows();
if(noticeIds == null){
return ;
}
var id=noticeIds.join(",");
$.ajax({
type: "POST",
url: baseURL + "platform/notice/updateShow",
data: {id:id,showsId:1},
success: function(r){
if(r.code === 0){
alert('操作成功', function(){
vm.reload();
});
}else{
alert(r.msg);
}
}
});
},
updateShow0:function(){
var noticeIds = getSelectedRows();
if(noticeIds == null){
return ;
}
var id=noticeIds.join(",");
$.ajax({
type: "POST",
url: baseURL + "platform/notice/updateShow" ,
data: {id:id,showsId:0},
success: function(r){
if(r.code === 0){
alert('操作成功', function(){
vm.reload();
});
}else{
alert(r.msg);
}
}
});
},
其实用一个按钮也可以搞定,在这里我没有那样做,主要是为了为大家介绍一下如何传多个值的方法。
控制层:
@Log("推荐")
@RequestMapping("/updateShow")
@RequiresPermissions("platform:notice:updateShow")
public R updateShow(HttpServletRequest request){
String id = request.getParameter("id");
Integer showId=Integer.parseInt(request.getParameter("showsId"));
//System.out.println("id="+id+",showsId="+showId);
String ids[]=id.split(",");
List<Long> list=new ArrayList<Long>();
long[] strArrNum = (long[]) ConvertUtils.convert(ids,long.class);
for (int i = 0; i < strArrNum.length; i++) {
list.add(strArrNum[i]);
}
pfNoticeService.updateShow(list, showId);
return R.ok();
}
serivce层:
void updateShow(List<? extends Serializable> list,int shows);
ServiceImpL层:
@Override
public void updateShow(List<? extends Serializable> list,int shows) {
Map<String, Object> map=new HashMap<String, Object>();
map.put("list", list);
map.put("shows", shows);
pfNoticeDao.upadteShow(map);
}
这里就是因为原本他只能传单一的数据,所以这里传了 一个map集合,我认为应该是因为map可以有两个泛型的原因吧。
dao文件:
<update id="upadteShow">
update pf_notice set shows = #{shows} where id in
<foreach item="list" collection="list" open="(" separator="," close=")" >
#{list}
</foreach>
</update>
这里要注意的是, 因为map里面传的是两个参数,所以这里获取的时候对应的字段名要一至, collection="list" list对应的是我所传的累计的字段名,这里要改成你的,shows = #{shows} 大括号里的属性名也一样也一样