sprongboot+Easyui ——商品更新/商品删除
一、商品更新
1.1、页面分析
1.2、js
$.post("/item/update",$("#itemeEditForm").serialize(), function(data){ if(data.status == 200){ $.messager.alert('提示','修改商品成功!','info',function(){ $("#itemEditWindow").window('close'); $("#itemList").datagrid("reload"); }); }else{ $.message.alert("提示",data.msg); } });
1.3、后端代码
controller层
/** * 业务说明: 商品更新 * URL地址: http://localhost:8091/item/update * 参数: form表单 item对象接受 * 返回值: SystemResult对象 */ @RequestMapping("/update") public SystemResult updateItem(Item item){ itemService.updateItem(item); return SystemResult.success(); }
service /impl层
void updateItem(Item item);
@Transactional //开启事务控制 @Override public void updateItem(Item item) { itemMapper.updateById(item); }
1.4效果显示
二、商品删除
2.1 页面
2.2 js
var ids = getSelectionsIds(); if(ids.length == 0){ $.messager.alert('提示','未选中商品!'); return ; } $.messager.confirm('确认','确定删除ID为 '+ids+' 的商品吗?',function(r){ if (r){ var params = {"ids":ids}; $.post("/item/delete",params, function(data){ if(data.status == 200){ $.messager.alert('提示','删除商品成功!',undefined,function(){ $("#itemList").datagrid("reload"); }); }else{ $.messager.alert("提示",data.msg); } }); } });
3.2 后端
1、单条商品信息删除
controller 层
/** * 业务说明: 商品删除 * URL地址: http://localhost:8091/item/delete * 参数: ids接受 * 返回值: SystemResult对象 */ @RequestMapping("/delete") public SystemResult deleteItem(long ids){ itemService.deleteItem(ids); return SystemResult.success(); }
service /impl层
void deleteItem(long ids);
@Transactional //开启事务控制 @Override public void deleteItem(long ids) { itemMapper.deleteById(ids); }
2、批量商品信息删除
controller层
/** * 批量删除商品 * url地址: http://localhost:8091/item/delete * 参数: ids=100,101,102 * 返回值: SysResult对象 * 简化操作: 当参数采用,号分隔时,会自动的转化为数组. * SpringMVC 底层实现servlet * Long... :可变参数 */ @RequestMapping("/delete") public SystemResult deleteItems(Long... ids){ itemService.deleteItems(ids); return SystemResult.success(); }
mapper层
void deleteIds(Long[] ids);
mapper.xml
<!-- 提示:void deleteIds(Long[] ids); 原理: 1.Mybatis原生支持单值传参 2.如果遇到多值传参,则Mybatis会将多值封装为单值. 利用Map集合进行封装 3.Mybatis升级之后,会自动的封装数据. 原则: 1.如果mybatis 进行单值传参 数据: collection="array" list集合: collection="list" Map集合: collection="Map中的key" --> <delete id="deleteIds"> delete from tb_item where id in <foreach collection="array" open="(" close=")" separator="," item="id"> #{id} </foreach> </delete>
service / impl层
void deleteItems(Long[] ids);
@Transactional @Override public void deleteItems(Long[] ids) { itemMapper.deleteIds(ids); }
三、页面效果
正在学习中,有错误的地方,请多多指教!