【DAY8】springboot实现信息的新增、修改和删除

今天实现的主要是对网页上信息的新增、修改和删除,因为使用了Hibernate,整个开发过程变得相对比较简单。

删除信息

删除信息是通过获得要删除的Type对象的ID然后通过Hibernate直接删除的。首先在界面上,将信息ID传给后台

<a href="#"  th:href="@{/admin/types/delete/{id}(id=${type.id})}"   class="ui mini red basic button">删除</a>

在TypeController中,获得请求删除的类型ID,并调用Service层方法删除

    @RequestMapping("delete/{id}")
    public String deleteById(@PathVariable Long id){
        typeService.deleteById(id);
        return "redirect:/admin/types";
    }

在Service层中ITypeService接口的实现类中直接调用dao层的方法即可,由于Jpa中自带deleteBYId方法,并且Hibernate也已实现了此方法,因此直接调用即可,也不需要自己编写。

    @Override
    public void deleteById(Long id) {
        typeDao.deleteById(id);
    }

这样就可以直接实现删除了。

新增与修改信息

新增与修改界面类似,使用一个界面,同一个请求路径就可以实现。在网页中,新增和修改使用相同的请求路径,不同的是是新增的话,将id设置为-1,修改的话则获得需要修改的对象的id,传给后台
新增

<a href="#" th:href="@{/admin/types/input/{id}(id=-1)}"  class="ui mini right floated teal basic button">新增</a>

修改

<a href="#"  th:href="@{/admin/types/input/{id}(id=${type.id})}"    class="ui mini teal basic button">编辑</a>

在TypeController中,通过id判断是新增还是修改,如果是新增,则将新建Type对象,将Type对象传给网页;如果是修改,则将需要修改的Type对象传给网页。

@GetMapping("input/{id}")
    public String input(@PathVariable Long id,Model model){
        Type type = null;
        if(id != -1){
            type = typeService.findById(id);
        }else{
            type = new Type();
        }
        model.addAttribute("type",type);
        return "admin/types-input";
    }

修改界面
1
新增界面

2

新增或者修改完成后,网页再将修改后的信息生成type对象传给后台,持久化到数据库

<div class="ui container">
      <form action="#" method="post" th:object="${type}" th:action="@{/admin/types/input}" class="ui form">
        <input type="hidden" name="id" th:value="*{id}">
        <div class=" field">
          <div class="ui left labeled input">
            <label class="ui teal basic label">名称</label>
            <input type="text" name="name" placeholder="分类名称" th:value="*{name}" >
          </div>
        </div>

        <div class="ui error message"></div>
        <div class="ui right aligned container">
          <button type="button" class="ui button" onclick="window.history.go(-1)" >返回</button>
          <button class="ui teal submit button">提交</button>
        </div>

      </form>
</div>

TypeController中新增

    @PostMapping("input")
    public String input(Type type){
        typeService.input(type);
        return "redirect:/admin/types";
    }

在Service层中ITypeService接口的实现类中直接调用dao层的方法即可,由于Jpa中自带save方法,并且Hibernate也已实现了此方法,因此直接调用即可,也不需要自己编写。

@Override
    public void input(Type type) {
        typeDao.save(type);
    }

这样就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值