SpringBoot项目集成thymeleaf实现web

一、新建SpringBoot项目并引入jpa依赖

版本和springboot版本保持一致

XML 复制代码
        <!--  JPA -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>3.5.7</version>
        </dependency>

二、yml配置

XML 复制代码
server:
  port: 8085

spring:
  application:
    name: demo-springboot-web
  # 数据库连接池
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.2:3306/demo?useSSL=false&serverTimezone=UTC
    username: root
    password: 123456
  # jpa
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQLDialect
  thymeleaf:
    cache: false
# 日志
logging:
  level:
    com.qiu.dao: debug
    org.mybatis: debug

三、启动类

java 复制代码
package com.qiu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

/**
 * 描述:启动类
 *
 * @author: qxd
 * @date: 2025/12/13 14:40
 * @version: 1.0.0
 */
@SpringBootApplication
@EnableJpaRepositories(basePackages = "com.qiu.repository")
public class DemoSpringBootWebApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoSpringBootWebApplication.class, args);
    }
}

四、entity

java 复制代码
// src/main/java/com/qiu/demo/entity/User.java
package com.qiu.entity;

import jakarta.persistence.*;
import lombok.Data;
import org.hibernate.annotations.Comment;

/**
 * 用户实体类
 */
@Data
@Entity
@Comment("用户表")
@Table(name = "users")
public class User {
    /**
     * 用户唯一标识符,主键,自增长
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", columnDefinition = "BIGINT COMMENT '用户唯一标识符'")
    private Long id;

    /**
     * 用户姓名或昵称
     */
    @Column(name = "name", columnDefinition = "VARCHAR(255) COMMENT '用户姓名或昵称'")
    private String name;

    /**
     * 用户电子邮箱地址
     */
    @Column(name = "email", columnDefinition = "VARCHAR(255) COMMENT '用户电子邮箱地址'")
    private String email;

    /**
     * 用户登录用户名
     */
    @Column(name = "username", columnDefinition = "VARCHAR(255) COMMENT '用户登录用户名'")
    private String username;

    /**
     * 用户登录密码
     */
    @Column(name = "password", columnDefinition = "VARCHAR(255) COMMENT '用户登录密码'")
    private String password;

}

五、repository

java 复制代码
// src/main/java/com/qiu/demo/repository/UserRepository.java
package com.qiu.repository;

import com.qiu.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.Optional;

public interface UserRepository extends JpaRepository<User, Long> {
    Optional<User> findByUsername(String username);
    Optional<User> findByUsernameAndPassword(String username, String password);
    boolean existsByUsername(String username);
}

六、访问链接

http://127.0.0.1:8085/swagger-ui/index.html

七、项目地址

https://gitee.com/qiuxiaodong/demo

项目名称:demo-springboot-web

相关推荐
程序员黑豆5 小时前
Java 注释详解:单行、多行与文档注释的完整指南
java·前端·ai编程
剪刀石头布啊5 小时前
antd中可编辑表格中巧用useWatch实现联动高性能效果,以及定制延伸学习
前端
油丶酸萝卜别吃6 小时前
前端转全栈学习路线
前端·学习
浮生望6 小时前
前端路由进阶:History API原理与手写HistoryRouter
前端
陆枫Larry6 小时前
JavaScript 中的竞态是什么,为啥会有竟态?
前端
维克兜率天7 小时前
【维克】ARMA模型:AR与MA的完美结合
后端·restful
是未才8 小时前
从输入 URL 到页面返回:DNS、路由、TLS 与 HTTP 完整链路
java·后端·计算机网络
上海安当技术8 小时前
半天接入:USBKey RESTful API + C 动态库,Web 和 C/S 两套集成路径实战
前端·后端·restful·集成·usbkey
DevUI团队9 小时前
从“即兴创作”到“规格先行”,华为云码道(CodeArts)代码智能体持续深耕企业级规范驱动开发能力
前端·人工智能·后端
weixin_4316004410 小时前
NestJS 入门(3):Guard 如何挡住未登录请求?
前端·后端·学习·nest.js