暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Spring Boot 与 MyBatis 的无缝集成:构建高效数据驱动应用的秘诀

追梦Java 2024-05-05
76


本文介绍 Spring Boot 集成 MyBatis。


1、修改 pom.xml 文件,增加对 MySql 和 MyBatis 的支持


    <!-- 增加对 MySql和 MyBatis的依赖 -->
    <!-- mybatis -->
    <dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.3</version>
    </dependency>


    <!-- mysql -->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    </dependency>

    mysql 的版本号不用指定,springboot 会自动选择。

    找相关 jar 包的 maven 依赖可以在 https://mvnrepository.com/ 网站里搜索。


    2、修改 application.yml 文件,增加对 MySql 数据库的参数配置


      spring:
      mvc:
      view:
      prefix: WEB-INF/views/
      suffix: .jsp


      datasource:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://127.0.0.1:3306/testdb?serverTimezone=Asia/Shanghai&characterEncoding=UTF-8
      username: root
      password: root123

      数据库连接配置在 spring 对象下。

      注意:
      如果使用了 Mysql Connector 6.x 以上的版本,数据库驱动不是 com.mysql.jdbc.Driver 而是 com.mysql.cj.jdbc.Driver。

      需要在连接数据库的 url 参数后面添加 serverTimezone=UTC 的参数,我们使用的时间是北京时区也就是东八区,领先 UTC 八个小时,所以使用中国标准时间 serverTimezone=Asia/Shanghai


      3、创建 User 实体类和 UserMapper 映射类


      testdb数据库里有user表,表结构如下:


      在 com.jpm.springboot 下新建一个 vo 包,然后在 vo 包下创建 User.java

        package com.jpm.springboot.vo;


        public class User {


        private int id;
        private String code;
        private String name;
        private int age;


        public int getId() {
        return id;
        }


        public void setId(int id) {
        this.id = id;
        }


        public String getCode() {
        return code;
        }


        public void setCode(String code) {
        this.code = code;
        }


        public String getName() {
        return name;
        }


        public void setName(String name) {
        this.name = name;
        }


        public int getAge() {
        return age;
        }


        public void setAge(int age) {
        this.age = age;
        }


        }

        在 com.jpm.springboot 下新建一个 mapper 包,然后在 mapper 包下创建 UserMapper.java

          package com.jpm.springboot.mapper;


          import java.util.List;


          import org.apache.ibatis.annotations.Mapper;
          import org.apache.ibatis.annotations.Select;


          import com.jpm.springboot.vo.User;


          @Mapper
          public interface UserMapper {


          @Select("select * from user")
          List<User> findAll();


          }


          4、创建 UserController 类


          在 com.jpm.springboot.controller 包下创建 UserController.java

            package com.jpm.springboot.controller;


            import java.util.List;


            import org.springframework.beans.factory.annotation.Autowired;
            import org.springframework.stereotype.Controller;
            import org.springframework.ui.Model;
            import org.springframework.web.bind.annotation.RequestMapping;


            import com.jpm.springboot.mapper.UserMapper;
            import com.jpm.springboot.vo.User;


            @Controller
            public class UserController {


            @Autowired
            UserMapper userMapper;


            @RequestMapping("/listUser")
            public String listUser(Model model) {
            List<User> users = userMapper.findAll();
            model.addAttribute("users", users);
            return "listUser";
            }


            }


            5、创建 listUser.jsp


            在 webapp/WEB-INF/views 目录下创建 listUser.jsp

              <%@ page language="java" contentType="text/html; charset=Utf-8"
              pageEncoding="Utf-8"%>
              <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
              <!DOCTYPE html>
              <html>
              <head>
              <meta charset="Utf-8">
              <title>user</title>
              </head>
              <body>
              <h4>输出user表中的数据</h4>
              <table border='1'>
              <tr>
              <td>id</td>
              <td>code</td>
              <td>name</td>
              <td>age</td>
              </tr>
              <c:forEach items="${users}" var="u" varStatus="ut">
              <tr>
              <td>${u.id}</td>
              <td>${u.code}</td>
              <td>${u.name}</td>
              <td>${u.age}</td>
              </tr>
              </c:forEach>
              </table>


              </body>
              </html>


              6、运行程序,访问 Controller 


              数据库user表里的数据如下:

              访问:http://localhost:8889/springbootdemo-yml/listUser

              user表中的数据正常输出,说明 Spring Boot 集成 MyBatis 成功。


              Spring Boot 的入门知识全部介绍完毕。


              扫码加好友,拉你进流群,一起探讨交流!

              文章转载自追梦Java,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论