绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
SpringBoot整合mybatis
2023-05-30 17:36:20

学习主题:SpringBoot

  1. Thymeleaf语法详解-字符串操作
    1. th:text的作用是什么?

在页面中输出值

    1. th:value的作用是什么?


    可以将一个值放入到input标签的value中

      1. 什么是Thymeleaf的内置对象?

      #dates

      #numbers

      #strings

      #bools

      #lists

      #sets

      #maps

      #aggregates

      #messages

      #ids

        1. 内置对象的语法是什么?

        2. 内置对象一定要用#开头
        3. 大部分内置对象都是很以s结尾
        4. Thymeleaf语法详解-日期转换操作
          1. 在Thymeleaf中使用哪个内置对象转换日期?

        #dates

          1. 常见的处理日期函数有哪些?


          ${#dates.format(key)} 格式化日期,默认的以浏览器默认语言为格式化标准

          ${#dates.format(key,'yyy/MM/dd')} 按照自定义的格式做日期转换

          ${#dates.year(key)} year:取年

          ${#dates.month(key)} Month:取月

          ${#dates.day(key)} Day:取日

          1. Thymeleaf语法详解-条件判断
            1. th:if的作用是什么?


          条件判断

            1. th:switch的作用是什么?


            条件判断

            1. Thymeleaf语法详解-迭代遍历
              1. th:each的作用是什么?


            遍历数据

              1. th:each中可以获取哪些状态变量?


              1,index:当前迭代器的索引 从 0 开始

              2,count:当前迭代对象的计数 从 1 开始

              3,size:被迭代对象的长度

              4,even/odd:布尔值,当前循环是否是偶数/奇数 从 0 开始

              5,first:布尔值,当前循环的是否是条,如果是返回 true 否则返回 false

              6,last:布尔值,当前循环的是否是后一条,如果是则返回 true 否则返回 false

              1. Thymeleaf语法详解-获取作用域对象中的数据
                1. 在Thymeleaf中如何获取HttpServletRequest对象中的值?


              <span th:text="${#httpServletRequest.getAttribute('req')}"></span>

                1. 在Thymeleaf中如何获取HttpSession中的值?


                <span th:text="${session.sess}"></span>

                  1. 在Thymeleaf中如何获取ServletContext中的值?


                  <span th:text="${application.app}"></span>

                  1. Thymeleaf语法详解-URL表达式
                    1. URL表达式的语法是什么?

                  @{}

                    1. 在URL表达式中可以给定几种URL格式?


                    <a th:href="@{/show}">相对路径</a>

                    <a th:href="@{~/project2/resourcename}">相对于服务器的根</a>

                      1. 如何在URL表达式中传递参数?


                      <a th:href="@{/show(id=1,name=zhagnsan)}">相对路径-传参</a>

                        1. 如何在URL表达式中通过RESTful风格传递参数?


                        <a th:href="@{/path/{id}/show(id=1,name=zhagnsan)}">相对路径-传参-restful</a>

                        1. Spring Boot整合MyBatis-创建项目
                          1. Spring MVC+Spring Boot+MyBatis整合需要添加哪些坐标?
                        <!-- Mybatis 启动器 -->
                                <dependency>
                                    <groupId>org.mybatis.spring.boot</groupId>
                                    <artifactId>mybatis-spring-boot-starter</artifactId>
                                    <version>1.1.1</version>
                                </dependency>
                                <!-- mysql 数据库驱动 -->
                                <dependency>
                                    <groupId>mysql</groupId>
                                    <artifactId>mysql-connector-java</artifactId>
                                </dependency>
                                <!-- druid 数据库连接池 -->
                                <dependency>
                                    <groupId>com.alibaba</groupId>
                                    <artifactId>druid</artifactId>
                                    <version>1.0.9</version>
                                </dependency>
                          1. Spring Boot整合MyBatis时如何在全局配置文件中配置数据源?

                          编写application.properties文件

                          spring.datasource.url=jdbc:mysql://localhost:3306/kaoshi1

                            1. Spring Boot整合MyBatis时如何在全局配置文件中配置数据库连接池?

                            spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

                              1. Spring Boot整合MyBatis时如何在全局配置文件中配置MyBatis的包别名?

                              mybatis.type-aliases-package=com.cyj.pojo

                              1. SpringBoot整合MyBatis完成添加用户
                                1. @MapperScan(" ")注解的作用是什么?

                              @MapperScan 用户扫描MyBatis的Mapper接口

                              1. SpringBoot整合MyBatis完成用户查询
                                1. 在项目中编写一个查询所有用户的案例。
                              1 在 mapper 接口中以及映射配置文件中添加相关代码
                              /**
                                   * 查询所有用户
                                   * @return
                                   */
                                  List<Users> selectUsersAll();
                              2 在业务层中添加查询方法
                              <select id="selectUsersAll" resultType="users">
                                      select id,name,age from users
                                  </select>
                              3 在 Controller 中添加方法
                              /**
                                   * 查询所有用户
                                   * @param model
                                   * @return
                                   */
                                  @RequestMapping("/findUserAll")
                                  public String findUserAll(Model model){
                                      List<Users> list = usersService.selectUserAll();
                                      model.addAttribute("list",list);
                                      return "showUsers";
                                  }
                              4 添加页面   showUsers.html
                              <html lang="en"  xmlns:th="http://www.thymeleaf.org">
                              <!DOCTYPE html>
                              <html lang="en">
                              <head>
                                  <meta charset="UTF-8">
                                  <meta http-equiv="Expires" content="0">
                                  <meta http-equiv="Pragma" content="no-cache">
                                  <meta http-equiv="Cache-control" content="no-cache">
                                  <meta http-equiv="Cache" content="no-cache">
                                  <title>展示用户数据</title>
                              </head>
                              <body>
                                  <table border="1" style="width: 500px;">
                                      <tr>
                                          <td>用户ID</td>
                                          <td>用户姓名</td>
                                          <td>用户年龄</td>
                                          <td>操作</td>
                                      </tr>
                                      <tr th:each="user:${list}">
                                          <td th:text="${user.id}"></td>
                                          <td th:text="${user.name}"></td>
                                          <td th:text="${user.age}"></td>
                                          <td>
                                              <a th:href="@{/users/findUserById(id=${user.id})}">更新用户</a>
                                              <a th:href="@{/users/delUser(id=${user.id})}">删除用户</a>
                                          </td>
                                      </tr>
                                  </table>
                              </body>
                              </html>
                              1. SpringBoot整合MyBatis完成用户修改-数据回显
                                1. 在项目中编写一个预更新查询用户的案例。

                              数据回显主要是前端的th:field=”${数据}”实现回显

                              1. SpringBoot整合MyBatis完成用户修改-更新用户
                                1. 在项目中编写一个更新用户的案例。
                              1 更新用户之前的查询,并将数据在页面中回显
                              1.1修改 mapper 接口以及映射配置文件
                              /**
                                   * 根据id查询user
                                   * @param id
                                   * @return
                                   */
                                  Users selectUserById(Integer id);
                               <select id="selectUserById" resultType="users">
                                      select id,name,age from users where id=#{value}
                                  </select>
                              1.2修改业务层代码
                              Users findUserById(Integer id);
                                @Override
                                  public Users findUserById(Integer id) {
                                      return usersMapper.selectUserById(id);
                                  }
                              1.3修改 Controller
                              /**
                                   * 根据用户id查询用户
                                   * @param id
                                   * @return
                                   */
                                  @RequestMapping("/findUserById")
                                  public String findUserById(Integer id,Model model){
                                      Users user = usersService.findUserById(id);
                                      model.addAttribute("user",user);
                                      return "updateUser";//将查询的数据回显
                                  }
                              1.4添加页面 updateUsers.html
                              <html lang="en"  xmlns:th="http://www.thymeleaf.org">
                              <!DOCTYPE html>
                              <html lang="en">
                              <head>
                                  <meta charset="UTF-8">
                                  <meta http-equiv="Expires" content="0">
                                  <meta http-equiv="Pragma" content="no-cache">
                                  <meta http-equiv="Cache-control" content="no-cache">
                                  <meta http-equiv="Cache" content="no-cache">
                                  <title>Insert title here</title>
                              </head>
                              <body>
                                  <form th:action="@{/users/editUser}" method="post">
                                      <input type="hidden" name="id" th:field="${user.id}"/>
                                      用户姓名:<input type="text" name="name" th:field="${user.name}"/><br/>
                                      用户年龄:<input type="text" name="age" th:field="${user.age}"/><br/>
                                      <input type="submit" value="确定"/><br/>
                                  </form>
                              </body>
                              </html>
                              1.5修改 showUsers.html 页面添加操作功能
                              <html lang="en"  xmlns:th="http://www.thymeleaf.org">
                              <!DOCTYPE html>
                              <html lang="en">
                              <head>
                                  <meta charset="UTF-8">
                                  <meta http-equiv="Expires" content="0">
                                  <meta http-equiv="Pragma" content="no-cache">
                                  <meta http-equiv="Cache-control" content="no-cache">
                                  <meta http-equiv="Cache" content="no-cache">
                                  <title>展示用户数据</title>
                              </head>
                              <body>
                                  <table border="1" style="width: 500px;">
                                      <tr>
                                          <td>用户ID</td>
                                          <td>用户姓名</td>
                                          <td>用户年龄</td>
                                          <td>操作</td>
                                      </tr>
                                      <tr th:each="user:${list}">
                                          <td th:text="${user.id}"></td>
                                          <td th:text="${user.name}"></td>
                                          <td th:text="${user.age}"></td>
                                          <td>
                                              <a th:href="@{/users/findUserById(id=${user.id})}">更新用户</a>
                                              <a th:href="@{/users/delUser(id=${user.id})}">删除用户</a>
                                          </td>
                                      </tr>
                                  </table>
                              </body>
                              </html>

                              2 用户更新

                              2.1修改 mapper 接口以及映射配置文件

                                  /**
                                   * 更新用户
                                   * @param users
                                   */
                                  void updateUser(Users users);
                              <update id="updateUser" parameterType="users">
                                      update users set name=#{name},age=#{age} where id=#{id}
                                  </update>
                              2.2修改业务层代码
                              void updateUser(Users users);
                              @Override
                                  public void updateUser(Users users) {
                                      usersMapper.updateUser(users);
                                  }
                              2.3修改 Controller
                              /**
                                   * 更新用户
                                   * @param users
                                   * @return
                                   */
                                  @RequestMapping("/editUser")
                                  public String editUser(Users users){
                                      usersService.updateUser(users);
                                      return "ok";
                                  }
                              1. SpringBoot整合MyBatis完成用户删除
                                1. 在项目中编写一个删除用户的案例。
                              1 修改 mapper 接口以及映射配置文件
                               /**
                                   * 根据用户id删除用户
                                   * @param id
                                   */
                                  void deleteUserById(Integer id);
                               <delete id="deleteUserById" >
                                      delete from users where id=#{value}
                                  </delete>
                              2 修改业务层代码
                              void deleteUserById(Integer id);
                              @Override
                                  public void deleteUserById(Integer id) {
                                      usersMapper.deleteUserById(id);
                                  }
                              3 修改 Controller
                              /**
                                   * 删除用户
                                   * @param id
                                   * @return
                                   */
                                  @RequestMapping("/delUser")
                                  public String delUser(Integer id){
                                      usersService.deleteUserById(id);
                                      return "redirect:/users/findUserAll";
                                  }
                              4 修改 showUsers.html
                              <html lang="en"  xmlns:th="http://www.thymeleaf.org">
                              <!DOCTYPE html>
                              <html lang="en">
                              <head>
                                  <meta charset="UTF-8">
                                  <meta http-equiv="Expires" content="0">
                                  <meta http-equiv="Pragma" content="no-cache">
                                  <meta http-equiv="Cache-control" content="no-cache">
                                  <meta http-equiv="Cache" content="no-cache">
                                  <title>展示用户数据</title>
                              </head>
                              <body>
                                  <table border="1" style="width: 500px;">
                                      <tr>
                                          <td>用户ID</td>
                                          <td>用户姓名</td>
                                          <td>用户年龄</td>
                                          <td>操作</td>
                                      </tr>
                                      <tr th:each="user:${list}">
                                          <td th:text="${user.id}"></td>
                                          <td th:text="${user.name}"></td>
                                          <td th:text="${user.age}"></td>
                                          <td>
                                              <a th:href="@{/users/findUserById(id=${user.id})}">更新用户</a>
                                              <a th:href="@{/users/delUser(id=${user.id})}">删除用户</a>
                                          </td>
                                      </tr>
                                  </table>
                              </body>
                              </html>

                              分享好友

                              分享这个小栈给你的朋友们,一起进步吧。

                              java-SpringBoot
                              创建时间:2020-09-18 19:36:26
                              springboot集成mybatis-plus、MySQL、redis、QRcode、Filter;使用花生壳外网穿透;开发工具idea。
                              展开
                              订阅须知

                              • 所有用户可根据关注领域订阅专区或所有专区

                              • 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

                              • 专区发布评论属默认订阅所评论专区(除付费小栈外)

                              栈主、嘉宾

                              查看更多
                              • 水煮陈福
                                栈主

                              小栈成员

                              查看更多
                              • huijinrutu
                              • ashreds
                              • a14206
                              • yuhuoshijie
                              戳我,来吐槽~