Spring Boot快速入门---(三)spring boot的快速连接数据库之spring data jpa以及事务管理

使用spring boot写一个学生管理系统 学生管理系统是一种常见的应用程序,它可以用于管理学生、学院、班级等信息,是许多企业和商家必备的工具。登录界面,简单的来说,就是输入账号、密码,如何会去查询数据库,如果与数据库的用户名和密码相对应,即可登录成功,跳转到stud ent_list界面,如果跳转失败,这会返回错误信息给html,在将其显示在页面上。在Idea中创建一个新的Spring Boot项目,并选择相应的依赖,并添加Lombok,Spring Web,Thymeleaf,MySQL Driver,Spring Data JPA等依赖。 阅读详情

五、数据库操作

 


 

1.引入依赖

 

2.在配置文件中添加信息

 

3.Girl类的书写

 

4.GirlRepository继承JpaRepository

 

5.GirlController的实现,可通过Postman来模拟请求

package com.lcz;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Optional;

/**
 * @Author:Coding Chaozhang
 */
@RestController
public class GirlController {
    @Autowired
    private GirlRepository repository;

    @Autowired
    private GirlService girlService;
    /**
     * 查询所有女生列表
     * @return
     */
    @GetMapping(value = "/girls")
    public List<Girl>  girlList(){
        return repository.findAll();
    }

    /**
     * 创建女生信息
     * @param cupSize
     * @param age
     * @return
     */
    @PostMapping(value = "/girls")
    public Girl girlAdd(@RequestParam("cupSize")String cupSize,
                           @RequestParam("age")Integer age){
        Girl girl=new Girl();
        girl.setAge(age);
        girl.setCupSize(cupSize);
        return repository.save(girl);
    }

    /**
     * 查询一个女生
     * @param id
     * @return
     */
    @GetMapping(value = "/girls/{id}")
    public Optional<Girl> girlFindOne(@PathVariable("id")Integer id){
        return repository.findById(id);
    }

    /**
     * 更新一个女生信息
     * @param id
     * @param cupSize
     * @param age
     * @return
     */
    @PutMapping(value = "/girls/{id}")
    public Girl girlUpdate(@PathVariable("id")Integer id,
                            @RequestParam("cupSize")String cupSize,
                            @RequestParam("age") Integer age){
        Girl girl=new Girl();
        girl.setId(id);
        girl.setCupSize(cupSize);
        girl.setAge(age);
        return repository.save(girl);
    }

    /**
     * 删除女生
     * @param id
     */
    @DeleteMapping(value = "/girls/{id}")
    public void girlDelete(@PathVariable("id")Integer id){
        repository.deleteById(id);
    }

    @GetMapping(value = "/girls/age/{age}")
    public List<Girl> girlListByAge(@PathVariable("age")Integer age) {
        return repository.findByAge(age);
    }

    @PostMapping(value = "/girls/two")
    public void girlTwo(){
        girlService.insertTwo();
    }
}

六、事务管理

@Transactional

 

package com.lcz;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * @Author:Coding Chaozhang
 */
@Service
public class GirlService {

    @Autowired
    private GirlRepository girlRepository;

    @Transactional
    public void insertTwo(){
        Girl girlA=new Girl();
        girlA.setCupSize("A");
        girlA.setAge(18);

        Girl girlB=new Girl();
        girlB.setCupSize("A");
        girlB.setAge(18);

        girlRepository.save(girlA);
        girlRepository.save(girlB);
    }
}

Java快速入门系列-9(Spring框架与Spring Boot —— 深度探索及实践指南) Spring框架自诞生以来,凭借其独特的设计理念和广泛的适用性,在Java企业级应用开发领域占据主导地位。Spring框架的核心设计理念体现在IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)两个关键技术上。IoC通过容器管理对象的生命周期和依赖关系,从而降低耦合度;而AOP则允许我们将横切关注点(如日志、事务管理、权限验证等)从核心业务逻辑中分离出来,实现业务逻辑与系统服务的解耦。 阅读详情

相关推荐

【Java项目脚手架系列】第六篇:Spring Boot + JPA项目脚手架

Spring Boot 的快速开发能力JPA 的对象关系映射完整的数据库操作支持事务管理能力测试框架支持Spring Boot + JPA 脚手架提供了一个完整的企业级应用开发基础,包含了必要的配置和示例代码。快速搭建 Web 应用实现数据库操作进行单元测试使用开发工具。

工一木子 1220

基于springboot的学生管理系统的设计与实现

通过基于Spring Boot的学生管理系统,教育机构能够实现学生信息的集中管理、快速录入和查询、生成各种报表等功能。教师可以通过系统轻松地查询学生信息、管理学生成绩、排课等。学生也能够通过系统查询自己的信息、选课、查看成绩等。设计和实现一个基于Spring Boot的学生管理系统,用于管理学生的信息,包括学生基本信息、课程信息、成绩信息等。通过该系统,可以提高学生管理的效率和准确性。学生管理是教育管理的重要组成部分,传统的学生管理方式往往存在信息不准确、数据冗余、操作繁琐等问题。

7315

后端必备技能:Spring Data JPA应用解析

在后端开发中,数据库操作是核心任务之一。传统JDBC编程需要手动写SQL、处理ResultSet、管理连接,代码冗余且易出错。Hibernate等ORM框架简化了这一过程,但仍需编写大量重复的CRUD代码。Spring Data JPA作为JPA规范的封装,进一步将数据库操作抽象为"Repository接口",让开发者通过"方法名"即可完成查询,彻底告别繁琐的SQL编写。

AI架构全栈开发实战笔记 784

基于Spring Boot的学生管理系统

学生管理系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。与安卓,iOS相比较起来,学生管理系统在流畅性,续航能力,等方方面面都有着很大的优势。这就意味着学生管理系统的设计可以比其他系统更为出色的能力,可以更高效的完成最新的学生信息、教师信息、课程分类、课程信息、学生选课、学生签到、学生成绩等功能。此。

2301_77541824的博客 2621

Spring Boot如何集成Oracle?

🏆 本文精选收录于《滚雪球学SpringBoot》专栏,专为零基础学习者量身打造。从Spring基础到项目实战,手把手带你掌握核心技术,助力你快速提升,迈向职场巅峰,开启财富自由之路🚀!无论你是刚入门的小白,还是已有基础的开发者,都能在这里找到适合自己的学习路径!    🌟 关注、收藏、订阅,持续更新中!和我们一起高速成长,突破自我!💡

**My Coding Family** 1525

C语言由scanf(“%d“,)非法输入字符造成的死循环及其解决方案

声明:此文章仅作为C语言学习历程中的思路整理,用于解决入门阶段较为浅显的问题,如有错误还请指正。 现象描述: 代码要求实现用户输入1或2,通过scanf("%d",&a)读取这个值,从而判断分属于1或2的两种情况。输入非1,2的数字都应该返回"Invalid Number!",并且要求重新输入数字。 while(a!=1&&a!=2) { printf("Invalid Number!\n"); printf("Enter the number:"); scan

weixin_49764077的博客 8719

学生信息管理系统(springboot+mybatis+thymeleaf)

学生信息管理系统

m0_69064503的博客 2953

SAP-MM-PR分配货源并转PO

SAP-MM-PR分配货源并转PO

yanzibing99的博客 5473

基于javaweb+mysql的springboot学生信息管理系统(java+springboot+html+layui+maven+mysql)

功能包括: 三角色管理: 学生,教师,管理员,在线选课,成绩录入,学生管理,选课管理,教室管理等等。查看学生选报课程详情等等。JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等;基于javaweb+mysql的springboot学生信息管理系统(java+springboot+html+layui+maven+mysql)课程设计,大作业,毕业设计,项目练习,学习演示等。

m0_71046928的博客 560

了解你的GPU:深入探讨AMD SMI

2024年9月17日 作者:Matt Elliott对于使用AMD硬件的系统管理员和高级用户来说,性能优化和高效的资源监控至关重要。AMD系统管理界面命令行工具`amd-smi`正是为了解决这些需求而设计的。amd-smi是一个多功能的命令行工具,专门用于管理和监控AMD硬件,主要侧重于GPU。作为未来取代`rocm-smi`的工具,`amd-smi`有望成为跨广泛设备的AMD硬件管理的主要工具。

数字人生 4523

nbiot和2g_浅谈NBIOT

一、什么是NBIOT?1、概念窄带物联网(Narrow Band Internet of Things, NB-IoT),NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,使用License频段,可采取带内、保护带或独立载波等三种部署方式,与现有网络共存。可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。2、NBIOT的特点和目标(1)超强覆盖:相对GPRS来...

weixin_39534100的博客 1704

Spring Boot整合Spring Data JPA

Spring Data中按照框架的规范自定义了Repository接口,除了可以使用接口提供的默认方法外,还可以按特定规则来定义查询方法,只要这些查询方法的方法名遵守特定的规则,不需要提供方法实现体,Spring Data就会自动为这些方法生成查询语句。Spring Data对这种特定的查询方法的定义规范如下:以find、read、get、query、count开头。涉及查询条件时,条件的属性使用条件关键字连接,并且条件属性的首字母大写。

daqi1983的博客 1590

halcon与c#联合编程实现相机控制+图像平移缩放+日志记录+缺陷检测+路径规划

halcon与c#联合编程实现相机控制+图像平移缩放+日志记录+缺陷检测+路径规划 前言 本人近期在工作中遇到需要对某场景下利用海康相机进行图像缺陷检测与对应路径规划。通过对海康相机示例代码进行吸收与借鉴,最终实现了对海康相机的控制,并增加HSmartWindowControl控件,实现图像的实时显示与平移缩放功能;通过listview+toolstrip实现日志显示与类型(提示、警告、错误)分类;同时自行编制算法实现对缺陷的识别以及缺陷外扩矩形范围内的路径规划。 1.日志记录 代码如下(示例):

weixin_37864926的博客 2717

Spring Boot 的 JDBC API 和 Spring Data JPA

Spring Boot 的 JDBC API 和 Spring Data JPA 是两种不同的持久化技术,它们在功能、使用方式和抽象层次上有显著的差异。

ahauedu的专栏 1718

Surface Pro 4/5/6/7保姆级黑苹果安装:从Windows分区到OC引导配置全流程(含EFI文件替换避坑)

本文详细介绍了在Surface Pro 4/5/6/7上安装黑苹果的全流程,包括Windows分区、OC引导配置和EFI文件替换等关键步骤。通过实战经验分享,帮助用户避开常见陷阱,实现Windows与macOS双系统完美共存,特别适合对黑苹果安装感兴趣的Surface Pro用户。

weixin_30300225的博客 1370

基于OSPF技术的某企业网络设计(完整文档+ENSP拓扑图)

主要对网络规划与设计,以企业网络为背景,对某个中型企业网络进行规划设计,该企业总部在南京,在常州有一个分公司,需要实现总部和分公司能够访问外网,能够让分公司内的用户或主机访问总部服务器的资源,并且保证数据的安全性。在这次总部企业网络设计中,考虑到资金的问题,核心层部署2台核心三层交换机,负责转发总部内部用户的流量,并充当内部用户网关,能够实现内部不同网段的用户之间的连通性。对于一些对网络比较敏感的企业或用户,对网络的要求较高,对于网络的稳定性和安全性也有较高的要求。

qq1325513482的博客 2万+

Spring Boot JPA基本详细

JPA(Java Persistence API)是Java EE规范的一部分,它定义了一套标准的ORM框架规范,允许开发者通过注解或XML描述对象与数据库表之间的映射关系,并将运行期的实体对象持久化到数据库中。JPA通过JDK 5.0注解或XML描述对象、关系表的映射关系,使得开发者能够以面向对象的方式操作数据库,极大地提高了开发效率和代码的可维护性。标准化:JPA是JCP组织发布的Java EE标准之一,因此任何声称符合JPA标准的框架都遵循同样的架构,提供相同的访问API。

minniuma的博客 2640

【微服务】SpringBoot 整合Kafka 项目实战操作详解

SpringBoot 整合Kafka 实战操作详解

congge 5570

Spring 加强版 ORM 框架 spring-data-jpa 入门与实践

伴随着 Java 诞生与发展,目前 Java 界涌现出了五花八门的数据访问技术,有一些名词甚至达到了耳熟能详的程度,包括 JDBC、JTA、JPA、ORM、MyBatis 等等,这篇介绍的是 Spring Data 项目中的 spring-data-jpa 框架,了解其他相关技术可以查阅我前面的文章。......

大鹏的博客 3457

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

详解spring-boot-starter-data-jpa

你不需要实现接口,Spring Data JPA会自动生成实现。

onlymscn的博客 1445

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JavaWeb06-Spring Boot与数据库:整合JPA与MyBatis

本文对比分析了Spring Boot中两种主流数据库访问技术JPA与MyBatis的核心特点与适用场景。JPA采用面向对象方式操作数据库,通过注解映射实体与表结构,简化CRUD操作但SQL可控性较弱;MyBatis保留SQL完全控制权,适合复杂查询但对简单操作较冗余。文章提供了Spring Data JPA的详细配置示例,包括实体类设计、Repository接口实现等核心内容,帮助开发者根据项目需求选择合适的技术方案。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

掌握Spring Boot数据库集成:用JPA和Hibernate构建高效数据交互与版本控制

这篇博客从基础配置到高级优化,全面探讨了Spring Boot中使用JPA和Hibernate进行数据库交互的相关技术,并为数据迁移和版本控制提供了可行的方案。

2202_76097976的博客 4694

快速入门JPA:对于JPA的一些尝试

寒假回家咯~,在家闲着也是闲着,比赛的项目又没有灵感,不如学学其他的吧以前我一直都是用Mybatis-Plus框架进行编程,很早之前了解了JPA后又没有时间具体了解,趁此机会赶紧学习!请注意!这篇文章是为初学者量身定制的(自己在学习过程中遇到了不少困难,希望能为刚有了解的同志提供帮助)JPA全称:Jakarta Persistence API提供了一种简化的数据访问方式,用于与关系型数据库进行交互。

泠水的博客 1384

springboot3 jpa 数据库操作入门与实战

Spring Boot 3 中的 JPA(Java Persistence API)是基于 Spring Data JPA 实现的持久层解决方案,它简化了 Java 应用与数据库的交互,通过 ORM(对象关系映射)将 Java 对象与数据库表关联,减少了传统 JDBC 开发中的样板代码。通过 Spring Boot 3 JPA,开发者可专注于业务逻辑,大幅提升持久层开发效率。简化开发:无需编写 SQL,通过方法名或注解自动生成查询。事务支持:与 Spring 事务管理无缝集成。灵活性。

小郑的专栏 1211

158. Spring Data JPA 基础

Spring Data JPA 是 Spring 框架的子项目,旨在简化基于 JPA 的数据访问层开发。它通过 Repository 抽象自动生成 CRUD 操作实现,支持方法名派生查询、注解定义查询以及分页排序等功能。相比原生 JPA,它能显著减少样板代码,但与 JPA 规范协同工作(默认使用 Hibernate 实现)。核心优势包括标准化数据访问、复杂查询支持和性能优化能力。典型使用场景是需要快速开发 CRUD 功能的应用程序或与 Spring 生态集成的项目。开发者通过继承 JpaRepository

weixin_43484713的博客 776
上一篇: Spring Boot快速入门---(二)spring boot的项目属性配置及Controller的使用
下一篇: Spring Boot快速入门---(四)spring boot的表单验证以及AOP处理请求
mind_programmonkey
mind_programmonkey 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄9年 4435粉丝 1111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值