从b站学习springcloud项目,现在进行总结,该总结除去了视频中出现的小错误,对有些易错的地方进行了提醒
b站链接:https://www.bilibili.com/video/av55629580?p=1
资料链接:
https://pan.baidu.com/s/1o0Aju3IydKA15Vo1pP4z5w
提取码: 21ru
上一节链接:
https://blog.csdn.net/qq_40893824/article/details/103597495
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103609138
下面的内容总结:
(页面删除)client/index→client/MenuFeign→menu/MenuHandler→client/ClientHandler→检查→
(页面添加数据)改名→ menu/TypeRepository→menu/MenuHandler→client/MenuFeign→
client/MenuHandler→client/MenuFeign→client/MenuHandler→
menu/MenuHandler→client/MenuFeign→client/MenuHandler→menu/MenuRepository.xml
实现细节:
1.在http://localhost:8030/client/redirect/index中操作那一栏,想变为 修改 和 删除 两个操作
在client/index.html 代码中第18行
<a class="layui-btn layui-btn-xs" lay-event="order">订购</a>
变为:
<a class="layui-btn layui-btn-xs" lay-event="update">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
这两行代码不需要去记
2.那么18、19行的修改和删除怎么实现功能?
49-55行代码可对应两个功能(//监听行工具事件),代码如下:
//监听行工具事件
table.on('tool(test)', function(obj){
var data = obj.data;
if(obj.event === 'update'){
layer.alert('修改');
}
else if( obj.event === 'del'){
layer.confirm('确认要删除吗?' , function () {
window.location.href = "/client/deleteById/" + data.id;
layer.close();
})
}
});
33-43行代码修改:width
菜品 170
口味 70
操作130
3.重启 client 进入 http://localhost:8030/client/redirect/index
界面还是比较好看
修改和删除:
4.没完
修改49-61代码:
53行 layer.alert(‘修改’); 改为 window.location.href = “/client/findById/” + data.id;
5.在client/feign/Menufeign中添加代码:
@DeleteMapping("/menu/deleteById/{id}")
public void deleteById(@PathVariable("id")long id);
6.同时在menu/controller/MenuHandler中添加代码:
@DeleteMapping("/deleteById/{id}")
public void deleteById(@PathVariable("id")long id){
menuRepository.deleteById(id);
}
这时再回到client/controller/ClientHandler中添加代码:
注意这里是@GetMapping !
@GetMapping("/deleteById/{id}")
public String deleteById(@PathVariable("id")long id){
menuFeign.deleteById(id);
return "redirect:/client/redirect/index";
}
现在手动在手机库的t_menu中添加几条测试数据
7.重启menu、client
进入 http://localhost:8030/client/redirect/index 的第二页删除最后一条数据
删除后:
删除成功!
还有更新功能,但先实现添加数据功能!
1.后期要对account、order、user进行处理
所以对client/controller/ClientHandler改名为MenuHandler,且对里面的@RequestMapping("/client")改为@RequestMapping("/menu")
deleteById中路径client改为menu
同时在client/index中49-61行路径由client改为menu,28行client改为menu(即 url:’/menu/findAll’),说明一下:url对应的menu/findAll对应的是client/controller/MenuHandler中的findAll!
2.1可以看到menu/repository/TypeRepository中有findAll接口了
进入menu/resources/mapping/TypeRepository添加代码:
<select id="findAll" resultType = "Type">
select * from t_type
</select>
2.2然后进入menu/controller/MenuHandler添加代码:
@Autowired
private TypeRepository typeRepository;
@GetMapping("/findTypes")
public List<Type>findTypes(){
return typeRepository.findAll();
}
2.3然后进入client/feign/MenuFeign添加代码:
注意路径不要少了menu
@GetMapping("/menu/findTypes")
public List<Type> findTypes();
2.4再进入client/controller/MenuHandler添加代码:
@GetMapping("/findTypes")
public ModelAndView findTypes(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("menu_add");
modelAndView.addObject("list" , menuFeign.findTypes());
return modelAndView;
}
2.5 重启menu client 进入 http://localhost:8030/menu/findTypes
页面成功加载
3.进入client/static/menu_add.html可以看到需要实现一个save方法
3.1在menu/MenuHandler中添加代码:(一下子把功能下完算了)
@RequestBody不能省!
@PostMapping("/save")
public void save(@RequestBody Menu menu){
menuRepository.save(menu);
}
@GetMapping("/findById/{id}")
public Menu findById(@PathVariable("id")long id){
return menuRepository.findById(id);
}
@PutMapping("/update")
public void update(@RequestBody Menu menu){
menuRepository.update(menu);
}
3.2进入client/feign/MenuFeign添加代码:
@PostMapping("/menu/save")
public void save(@RequestBody Menu menu);
3.3进入client/controller/MenuHandler中添加代码:(路径是menu哦,因为之前改名字了),这里不加@RequestBody !
@PostMapping("/save")
public String save( Menu menu){
menuFeign.save(menu);
return "redirect:/menu/redirect/index";
}
3.4进入menu/resources/mapping/MenuRepository.xml中修改< insert >save,就是加入tid:
<insert id="save" parameterType="Menu">
insert into t_menu(name,price,flavor,tid) values(#{name},#{price},#{flavor},#{type.id})
</insert>
3.5 重启menu client 进入 http://localhost:8030/menu/findTypes
添加成功!
上一节链接:
https://blog.csdn.net/qq_40893824/article/details/103597495
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103609138