前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >springboot整合thymeleaf CRUD操作大全

springboot整合thymeleaf CRUD操作大全

作者头像
用户9184480
发布2024-12-13 14:45:30
发布2024-12-13 14:45:30
11200
代码可运行
举报
文章被收录于专栏:云计算linux云计算linux
运行总次数:0
代码可运行

CRUD补充

增加信息操作

第一步:

1.在页面到增加页面,使用th:href

我们在static下增加addEmp.html页面

代码语言:javascript
代码运行次数:0
复制
<a rel="nofollow" th:href="@{addEmp.html}">增加</a>

第2步

在EmpMapper,增加方法addEmp(Emp emp)

代码语言:javascript
代码运行次数:0
复制
@Insert("insert emp(eid,ename,address,birth) values(#{eid},#{ename},#{address},#{birth})")
public int addEmp(Emp emp);

第3步

在EmpService,增加方法addEmp(Emp emp)

代码语言:javascript
代码运行次数:0
复制
public int addEmp(Emp emp){             // 参数是一个实体对象emp
    return empMapper.addEmp(emp);
}

第4步

在EmpController,增加方法

代码语言:javascript
代码运行次数:0
复制
@RequestMapping("/addEmp")
public String addEmp(Emp emp,Model model){
    int result=empService.addEmp(emp);
    if(result>0)
    {
        return "forward:/selectAll";
    }else{
        model.addAttribute("msg","增加失败!");
        return "status";
    }
}

第5步

这时候,测试会报Date日期格式错误。修改实体类Emp

代码语言:javascript
代码运行次数:0
复制
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")   //注意是严格格式
Date birth;

增加热部署

第1步.pom.xml增加配置信息

代码语言:javascript
代码运行次数:0
复制
<!--增加热部署        -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

第2步.

setting设置

image-20210701151525064.png
image-20210701151525064.png

第3步

按Ctrl+Shift+Alt+/ 快捷键 内容设置

image-20210701151621281.png
image-20210701151621281.png
image-20210701151714172.png
image-20210701151714172.png

第4步

服务器配置

image-20210701151759771.png
image-20210701151759771.png
image-20210701151908834.png
image-20210701151908834.png

删除操作

第1步:

image-20210701155027963.png
image-20210701155027963.png
代码语言:javascript
代码运行次数:0
复制
<a rel="nofollow" th:href="@{'deleteEmpById/'+${emp.eid}}">删除</a>

第2步

修改EmpMapper

代码语言:javascript
代码运行次数:0
复制
@Delete("delete from emp where eid=#{eid}")
public int deleteEmpById(Integer eid);

第3步

修改EmpService

代码语言:javascript
代码运行次数:0
复制
public int deleteById(Integer eid){
    return empMapper.deleteEmpById(eid);
}

第4步

修改控制器

代码语言:javascript
代码运行次数:0
复制
/**
 * 根据编号来删除Emp
 * @PathVariable("eid")这个是路径注解,可以让url使用下面的eid
 * @return
 */
@RequestMapping("/deleteEmpById/{eid}")
public String deleteEmpById(@PathVariable("eid") Integer eid,Model model){
    int result=empService.deleteById(eid);
    if(result>0)
    {
        return "forward:/selectAll";
    }else{
        model.addAttribute("msg","删除失败!");
        return "status";
    }
}

补充

mybatis.日志增加显示

application.yml文件增加配置即可

代码语言:javascript
代码运行次数:0
复制
logging:
  level:
    com.aaa.mapper: debug

我们删除的时候delete和select日志信息会显示出

image-20210701155151851.png
image-20210701155151851.png

编辑操作

总体思路需要,首先 查询当前id的雇员信息,进入到雇员信息编辑页面;

其次,由页面去控制器,提交更新代码操作。

第1步.总览页面

代码语言:javascript
代码运行次数:0
复制
<a rel="nofollow" th:href="@{'/selectEmpById/'+${emp.eid}}">修改</a>

第2步

mapper

代码语言:javascript
代码运行次数:0
复制
@Select("select * from emp where eid=#{eid}")
public Emp selectEmpById(Integer eid);

第3步

代码语言:javascript
代码运行次数:0
复制
public Emp selectEmpById(Integer eid){
    return empMapper.selectEmpById(eid);
}

第4步

控制器代码

代码语言:javascript
代码运行次数:0
复制
    @RequestMapping("/selectEmpById/{eid}")
    public String selectEmpById(@PathVariable("eid")Integer eid,Model model){
       Emp emp=empService.selectEmpById(eid);
        System.out.println(emp);
       //要去某个页面 会报错???return 默认去template下面的页面,去页面的有扩展名;
        model.addAttribute("emp",emp);
        //现在是forward格式:转发
//        return "forward:/editEmp.html";
        return "editEmp";
    }

第5步

template下的页面代码

代码语言:javascript
代码运行次数:0
复制
<!DOCTYPE html>
<html lang="en"  xmlns:th="http://wwww.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>增加信息页面</title>
    <style>
        .hui{background: #999;}
    </style>
</head>
<body>
<!--action:表示该view,去哪个控制器方法;不做表格了;-->
    <form action="/updateEmp" method="post">
        <div style="margin: 0 auto;width:600px;border: 1px dashed #eef;" >
            编号:<input type="text" name="eid" readonly th:value="${emp.eid}" class="hui"/><br/>
            姓名:<input type="text" name="ename" th:value="${emp.ename}"/><br/>
            地址:<input type="text" name="address" th:value="${emp.address}"/><br/>
            生日:<input type="text" name="birth" th:value="${#dates.format(emp.birth,'yyyy-MM-dd HH:mm:ss')}"/><br/>
            <button type="submit">提交</button>
        </div>
    </form>
</body>
</html>

第6步

控制器代码

代码语言:javascript
代码运行次数:0
复制
@RequestMapping("/updateEmp")
public String updateEmp(Emp emp,Model model){
    int result=empService.updateEmp(emp);
    if(result>0)
    {
        return "forward:/selectAll";
    }else{
        model.addAttribute("msg","更新数据失败!");
        return "status";
    }
}

第7步

service代码增加

代码语言:javascript
代码运行次数:0
复制
public int updateEmp(Emp emp){
    return empMapper.updateEmp(emp);
}

第8步

empMapper代码增加

代码语言:javascript
代码运行次数:0
复制
@Update("update emp set ename=#{ename},address=#{address},birth=#{birth} where eid=#{eid}")
public int updateEmp(Emp emp);

最后实现业务操作

image-20210701174807874.png
image-20210701174807874.png
image-20210701174843241.png
image-20210701174843241.png
image-20210701174910492.png
image-20210701174910492.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 增加信息操作
    • 第一步:
    • 第2步
    • 第3步
    • 第4步
    • 第5步
  • 增加热部署
    • 第1步.pom.xml增加配置信息
    • 第2步.
    • 第3步
    • 第4步
  • 删除操作
    • 第1步:
    • 第2步
    • 第3步
    • 第4步
    • 补充
  • 编辑操作
    • 第1步.总览页面
    • 第2步
    • 第3步
    • 第4步
    • 第5步
    • 第6步
    • 第7步
    • 第8步
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档