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

Spring Boot:利用JPA进行数据库的增改

目录

  • JPA介绍
  • Service接口
    • @Service和@Autowired
    • 示例代码
  • Dao数据库操作层
    • @Repository
    • 示例代码
  • 控制器文件
    • 示例代码-增加
    • 增加成功
    • 示例代码-修改
    • 修改成功

JPA介绍

  • JPA(Javaa Persistence API)一种用于持久化 Java 对象到关系型数据库的标准规范。它提供了一种统一的方式来操作数据库,包括增删改查等操作。

Service接口

  • Service 接口是一些方法,定义需要提供的服务方法和输入输出参数,以提供某种服务或功能。

@Service和@Autowired

  • @Service用于在类定义中标识服务类、在控制器中注入服务类。

  • 可以使用@Autowired 注解来注入新的类,以便调用它的方法。

示例代码

package hanshuhuan.test.service.admin;import hanshuhuan.test.dao.admin.OperatorLogDao;
import hanshuhuan.test.entity.admin.OperaterLog;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;/*** 数据库操作service* @author shuhu**/
@Service
public class OperatorLogService {@Autowiredprivate OperatorLogDao operatorLogDao;/*** 添加/修改操作日志* @param operaterLog* @return*/public OperaterLog save(OperaterLog operaterLog){return operatorLogDao.save(operaterLog);}
}

Dao数据库操作层

  • Dao 数据库操作层负责与数据库进行交互并实现对数据库的增删改查等操作

@Repository

  • 用于标记一个类为数据访问层(DAO)的接口。
  • 它表示一个仓库,主要用于封装对于数据库的访问。
  • 当我们在一个接口上使用@Repository 注解时,Spring 会自动扫描并找到该接口的实现类,并将其实例化为一个 Bean。

示例代码

package hanshuhuan.test.dao.admin;
/*** 后台操作日志类数据库操作层*/
import hanshuhuan.test.entity.admin.OperaterLog;import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;@Repository//表示这是一个Dao层,可以直接调用jpa来操作数据库
public interface OperatorLogDao extends JpaRepository<OperaterLog, Long> {}

控制器文件

示例代码-增加

//List类型遍历
List<OperaterLog>operaterLogs=new ArrayList<OperaterLog>();
OperaterLog ol1=new OperaterLog();
ol1.setOperator("han");
ol1.setContent("text1");
ol1.setCreateTime(new Date());
ol1.setUpdateTime(new Date());
operaterLogs.add(ol1);OperaterLog ol2=new OperaterLog();
ol2.setOperator("shu");
ol2.setContent("text2");
ol2.setCreateTime(new Date());
ol2.setUpdateTime(new Date());
operaterLogs.add(ol2);	OperaterLog ol3=new OperaterLog();
ol3.setOperator("huan");
ol3.setContent("text3");
ol3.setCreateTime(new Date());
ol3.setUpdateTime(new Date());
operaterLogs.add(ol3);	//数据库操作
OperaterLog operaterLog=new OperaterLog();
operaterLog.setOperator("shuhuan");
operaterLog.setContent("play");
operaterLog.setCreateTime(new Date());
operaterLog.setUpdateTime(new Date());operatorlogservice.save(operaterLog);
operatorlogservice.save(ol1);
operatorlogservice.save(ol2);
operatorlogservice.save(ol3);

增加成功

在这里插入图片描述

示例代码-修改

operaterLog.setId(Long.valueOf(1));
operaterLog.setOperator("【hanshuh】");

修改成功

在这里插入图片描述

http://www.lryc.cn/news/181291.html

相关文章:

  • 列表的增删改查和遍历
  • 获取网卡上的IP、网关及DNS信息,获取最佳路由,遍历路由表中的条目(附源码)
  • 保姆级 -- Zookeeper超详解
  • 【通意千问】大模型GitHub开源工程学习笔记(2)--使用Qwen进行推理的示例代码解析,及transformers的库使用
  • 从0开始python学习-23.selenium 常见鼠标的操作
  • 电气基础——电源、变压器、接触器、断路器、线缆
  • 步力宝科技爆款产品定位,开创智能物联网新商业
  • 凉鞋的 Unity 笔记 105. 第一个通识:编辑-测试 循环
  • Bug:elementUI样式不起作用、Vue引入组件报错not found等(Vue+ElementUI问题汇总)
  • 【大麦小米学量化】使用文心一言AI编写股票量化交易策略代码(含演示代码和进阶演示)
  • 软考 系统架构设计师系列知识点之软件架构风格(1)
  • 轮询与中断
  • 使用docker完成minio服务部署扩容备份迁移生产实践文档
  • 管道-有名管道
  • 谷歌注册手机号码无法验证
  • C语言编译与链接过程详解
  • Qt信号和槽 定时器
  • zemax对称式目镜
  • 层次架构、面向服务架构(四十四)
  • Ubuntu22无法自动进入lightdm图像界面
  • 01BFS最短距离的原理和C++实现
  • 【洛谷 P5266】【深基17.例6】学籍管理 题解(映射+分支)
  • 10.03
  • 链表单向链表跳跃链表
  • 博客无限滚动加载(html、css、js)实现
  • 腾讯云南京服务器性能如何?南京服务器测速IP地址
  • MySQL和Oracle中,语法的不同点以及如何在xml中书写日期比较大小
  • 谈谈Redis分布式锁
  • Redis的java客户端-RedisTemplate光速入门
  • 格点数据可视化(美国站点的日降雨数据)