JPA+Thymeleaf增删改查

1. 构建项目

1.1 创建项目文件

可以使用 Spring Initializr 来快速生成项目的基础结构。选择以下依赖项:

  • Spring Web
  • Spring Data JPA
  • Thymeleaf
  • Spring Boot DevTools(可选,用于开发过程中的热部署)
1.2 配置文

在 src/main/resources/application.properties 或 application.yml 文件中配置数据库连接和其他属性。
 

spring.application.name=iot-manager-2024-9-24

spring.thymeleaf.cache=false

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/iot_devices?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=oyby123

logging.level.root=warn
logging.level.com.bdqn.iotmanager.mapper=trace
logging.pattern.console=%p%m%n

#??sql??
mybatis.config-location=classpath:mybatis-config.xml
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.bdqn.pojo

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#??????????????
spring.datasource.druid.initial-size=3
spring.datasource.druid.min-idle=3
spring.datasource.druid.max-active=10
#?????????????
spring.datasource.druid.max-wait=60000
#?????????
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
#??StatFilter
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000

2. 模型开发

2.1 Entity

创建一个实体类,例如 User
 

package com.bdqn.webcrm.entity;

/**
 * User
 *
 * @author 
 * @since 
 */
public class User {
    private Long usrId;
    private String usrName;
    private String usrPassword;
    private Long usrRoleId;
    private Integer usrFlag;

    public User() {

    }

    public User(String usrName, String usrPassword, Long usrRoleId, Integer usrFlag) {
        this.usrName = usrName;
        this.usrPassword = usrPassword;
        this.usrRoleId = usrRoleId;
        this.usrFlag = usrFlag;
    }

    public Long getUsrId() {
        return usrId;
    }

    public void setUsrId(Long usrId) {
        this.usrId = usrId;
    }

    public String getUsrName() {
        return usrName;
    }

    public void setUsrName(String usrName) {
        this.usrName = usrName;
    }

    public String getUsrPassword() {
        return usrPassword;
    }

    public void setUsrPassword(String usrPassword) {
        this.usrPassword = usrPassword;
    }

    public Long getUsrRoleId() {
        return usrRoleId;
    }

    public void setUsrRoleId(Long usrRoleId) {
        this.usrRoleId = usrRoleId;
    }

    public Integer getUsrFlag() {
        return usrFlag;
    }

    public void setUsrFlag(Integer usrFlag) {
        this.usrFlag = usrFlag;
    }
}
2.2 Repository

创建一个JPA仓库接口,用于数据库操作

import org.springframework.data.jpa.repository.JpaRepository;  
  
public interface UserRepository extends JpaRepository<User, Long> {  
    // 继承JpaRepository后,基本的CRUD操作已经定义好  
}
2.3 Service

创建一个服务层来处理业务逻辑
 

import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.stereotype.Service;  
  
import java.util.List;  
  
@Service  
public class UserService {  
  
    @Autowired  
    private UserRepository userRepository;  
  
    public List<User> findAll() {  
        return userRepository.findAll();  
    }  
   
}
列表

创建一个控制器来处理用户列表的显示
 

import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.stereotype.Controller;  
import org.springframework.ui.Model;  
import org.springframework.web.bind.annotation.GetMapping;  
  
@Controller  
public class UserController {  
  
    @Autowired  
    private UserService userService;  
  
    @GetMapping("/users")  
    public String listUsers(Model model) {  
        model.addAttribute("users", userService.findAll());  
        return "users"; // 对应Thymeleaf模板文件  
    }  
}
3.4 新增

创建一个表单页面,并处理表单提交来新增用户。

3.5 修改

与新增类似,但通常需要首先根据ID查询用户,然后更新其属性。

3.6 删除

添加一个删除按钮和对应的控制器方法来处理删除请求。

结尾

以上是一个基于Spring Boot, JPA, 和 Thymeleaf 的CRUD Web 应用的基本框架。每个部分都可以进一步扩展和优化,以适应更复杂的需求。您还需要添加异常处理、数据验证、安全配置等。希望这个概述能帮助您开始构建自己的应用!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值