当前位置: 首页 > article >正文

Spring Boot整合Thymeleaf、JDBC Template与MyBatis配置详解

        本文将详细介绍如何在Spring Boot项目中整合Thymeleaf模板引擎、JDBC Template和MyBatis,涵盖YAML配置、依赖版本匹配、项目结构设计及代码示例。

一、版本兼容性说明
  1. Spring Boot版本与Java版本对应关系

    • Spring Boot 2.x:支持Java 8、11(推荐Java 11)。

    • Spring Boot 3.x:最低要求Java 17。

    • 示例:若使用Spring Boot 2.7.18,建议搭配Java 11。

  2. 依赖版本匹配

    • JDBC Template:内置于spring-boot-starter-jdbc,无需单独指定版本。

    • Thymeleaf:通过spring-boot-starter-thymeleaf引入,版本由Spring Boot管理。

    • MyBatis:需使用mybatis-spring-boot-starter,版本需与Spring Boot兼容。

      • Spring Boot 2.7.x → MyBatis Starter 2.3.x

      • Spring Boot 3.x → MyBatis Starter 3.0.x

 

 

二、项目结构

标准的Maven项目结构如下:

三、YML配置详解
# application.yml
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/stu_db?useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

  thymeleaf:
    mode: HTML
    prefix: classpath:/templates/
    suffix: .html
    cache: false  # 开发时关闭缓存,生产环境改为true

# MyBatis配置(仅整合MyBatis时需添加)
mybatis:
  mapper-locations: classpath:mapper/*.xml  # Mapper XML文件路径
  type-aliases-package: com.ffyc.entity     # 实体类包别名
 四、依赖配置(Maven示例)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>spbt02</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <!--    引入springboot-starter-parent依赖-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.18</version>
    </parent>


    <dependencies>
        <!--    引入spring-boot-starter-web依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 引入Thymeleaf依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <!-- Springboot整合MySQL驱动类 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version>
        </dependency>
        <!-- Springboot整合JDBC模板框架 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!-- Springboot整合MyBatis框架 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
    </dependencies>

</project>
 五、代码示例

UserService

@Service
public class UserService {
    @Autowired
    private JdbcTemplate jdbcTemplate;

    public String insertUser(String username, Integer age) {
        String sql = "INSERT INTO user_tb(name, age) VALUES (?, ?)";
        int result = jdbcTemplate.update(sql, username, age);
        return result > 0 ? "success" : "fail";
    }
}

MyThymeleaf.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <title>My Thymeleaf Template</title>
</head>
<body>
    <h1>Welcome to my Thymeleaf Template</h1>
    <table>
        姓名:<span th:text="${user.name}"></span><br>
        性别:<span th:text="${user.age}"></span><br>
    </table>

    <ul th:each="user : ${list}">
        <li><span th:text="${user.name}">  </span></li>
        <li><span th:text="${user.age}>"></span> </li>
    </ul>
    <!--    Thymeleaf 条件判断-->

    <span th:if="${user.age >= 18}">已经成年了!</span>
    <span th:if="${user.age < 18}">还未成年!</span>

</body>
</html>


创建Mapper接口 

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM user_tb WHERE id = #{id}")
    User getUserById(Integer id);
}


http://www.kler.cn/a/515895.html

相关文章:

  • leetcode 面试经典 150 题:简化路径
  • Trimble三维激光扫描-地下公共设施维护的新途径【沪敖3D】
  • k8s的CICD实施项目
  • Java 中的设计模式:经典与现代实践
  • 汇编与逆向(二)-汇编基础
  • vue3 通用svg组件
  • 【C语言】编译链接
  • 软考信安26~大数据安全需求分析与安全保护工程
  • 【C++笔记】哈希表底层实现的深度剖析
  • 车间设备数据采集解决方案
  • 智能体的核心技能之插件,插件详解和实例 ,扣子免费系列教程(11)
  • Elixir语言的Web开发
  • 知识产权API:助力金融业投资决策等场景提效!
  • 从理论到实践:Django 业务日志配置与优化指南
  • Facebook新品广告ROI一周速成攻略
  • 2.体验vue
  • 【若依】添加定时任务
  • ansible自动化运维实战--复制模块和用户模块(3)
  • 【0x06】HCI_Authentication_Complete事件详解
  • Solr与Elasticsearch 的对比与选型
  • Unity中关于实现 管道水流+瀑布流动+大肠蠕动效果笔记
  • HTML5 新表单属性详解
  • 深度剖析聚合 CPS 分销与 CPA 推广系统:打破收益枷锁,开启创业新篇
  • WebSocket异步导出
  • 笋瓜果实的代谢组学和转录组分析-文献精读103
  • [ Spring ] Spring Cloud Gateway 2025 Comprehensive Overview