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

相关推荐
徐同保14 小时前
React useRef 完全指南:在异步回调中访问最新的 props/state引言
前端·javascript·react.js
好好研究14 小时前
SpringBoot扩展SpringMVC
java·spring boot·spring·servlet·filter·listener
刘一说14 小时前
Vue 导航守卫未生效问题解析:为什么路由守卫不执行或逻辑失效?
前端·javascript·vue.js
独自破碎E15 小时前
Spring Boot + LangChain4j 报错:Bean 类型不匹配的解决办法
spring boot·python·pycharm
一周七喜h15 小时前
在Vue3和TypeScripts中使用pinia
前端·javascript·vue.js
tb_first15 小时前
SSM速通3
java·jvm·spring boot·mybatis
weixin_3954489115 小时前
main.c_cursor_0202
前端·网络·算法
东东51616 小时前
基于vue的电商购物网站vue +ssm
java·前端·javascript·vue.js·毕业设计·毕设
MediaTea16 小时前
<span class=“js_title_inner“>Python:实例对象</span>
开发语言·前端·javascript·python·ecmascript
她说..16 小时前
策略模式+工厂模式实现审批流(面试问答版)
java·后端·spring·面试·springboot·策略模式·javaee