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

springboot+JPA

JDK17+Springboot3.4.6

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.6</version><relativePath/>
</parent><!--JPA起步依赖-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

application-dev.yaml

server:port: 8896spring:datasource:username: rootpassword: rooturl: jdbc:mariadb://ip1.ip2.ip3.ip4:3306/springbootJPA?useUnicode=true&characterEncoding=UTF-8driver-class-name: org.mariadb.jdbc.Driver#  方言jpa:properties:hibernate:dialect: org.hibernate.dialect.MySQL8Dialect

bean Balance

import jakarta.persistence.*;
import lombok.Data;//实体类与表映射
@Entity(name = "balance_details")
@Data
public class Balance {//主键id@Id//设置主键自增//GenerationType.AUTO 策略在 MySQL 环境下错误地使用了 SEQUENCE(序列)生成方式,而 MySQL 不支持 原生的序列(Sequence)对象//@GeneratedValue(strategy = GenerationType.AUTO)//识别策略可以在mysql上用@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;//属性名与表字段名不一致@Column(name = "account_num")private String accountNum;private double amount;private String type;private String comment;
}

repository BalanceRepository

import com.ben.bean.Balance;
import org.springframework.data.jpa.repository.JpaRepository;/**Balance 操作的实体类, Integer 当前实体类被@id注解修饰也就是主键的数据类型*/
public interface BalanceRepository extends JpaRepository<Balance, Integer> {
}

接口 IBalance

public interface IBalance {Balance saveOne(Balance balance);
}

接口实现类 BalanceService

@Service
public class BalanceService implements IBalance {@Autowiredprivate BalanceRepository balanceRepository;@Override@Transactionalpublic Balance saveOne(Balance balance) {return balanceRepository.save(balance);}
}

BalanceController

@RestController
public class BalanceController {@Autowiredprivate BalanceService balanceService;@PostMapping("/save")public Balance save(@RequestBody Balance balance) {Balance balance1 = balanceService.saveOne(balance);return balance1;}
}

postman调用

post请求
localhost:8896/saverequest body:
{"accountNum":"abcd123","amount":12.34,"type":"prod","comment":"test"
}

数据库表

create table balance_details
(id          int auto_incrementprimary key,account_num varchar(30)  null,type        varchar(10)  null,comment     varchar(100) null,amount      double       null
);
http://www.xdnf.cn/news/1286911.html

相关文章:

  • 机械臂的智能升维:当传统机械臂遇见Deepoc具身智能大模型从自动化工具到具身智能体的范式革命
  • 【KO】android 音视频
  • Elasticsearch JavaScript 客户端「基础配置」全指南(Node/TS)
  • AWT与Swing深度对比:架构差异、迁移实战与性能优化
  • Git 常用命令速查表
  • java面试题储备4: 谈谈对es的理解
  • 【Go】Gin 超时中间件的坑:fatal error: concurrent map writes
  • iOS 编译 cpp 代码生成 .a 库备忘
  • 医美产业科技成果展陈中心:连接微观肌肤世界与前沿科技的桥梁
  • 微算法科技(NASDAQ:MLGO)开发经典增强量子优化算法(CBQOA):开创组合优化新时代
  • 非凸科技受邀参加Community Over Code Asia 2025 Rust分论坛
  • 云计算分类与主流产品
  • 【论文阅读】一种基于经典机器学习的肌电下肢意图检测方法,用于人机交互系统
  • 【Node.js从 0 到 1:入门实战与项目驱动】2.1 安装 Node.js 与 npm(Windows/macOS/Linux 系统的安装步骤)
  • 网络基础设施保护
  • python题目练习 是否所有1都至少相隔k个元素 简单类型
  • 开博尔DA5耳放小尾巴体验评测:实体按键给到位,便携HiFi上手挺好用的
  • 25C机场航班调度程序(JS 100)
  • Ansible 基础到实操笔记
  • MySQL数据库操作全指南:数据库命令、表命令与数据CRUD操作
  • 飞算 JavaAI -智慧城市项目实践:从交通协同到应急响应的全链路技术革新
  • vue excel转json功能 xlsx
  • 正则表达式解析(二)
  • Python 标准库模块shutil
  • 升级 Docker,避免执行 docker compose 时报错
  • Java 大视界 -- Java 大数据在智能教育学习效果评估指标体系构建与精准评估中的应用(394)
  • 实现一个二维码让 iOS 和 Android 用户自动跳转到对应下载链接
  • MySQL——MySQL引擎层BufferPool工作过程原理
  • 3 Abp 核心框架(Core Framework)
  • 京东方 DV133FHM-NN1 FHD13.3寸 工业液晶模组技术档案