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

目录

JPA介绍

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

Service接口

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

@Service和@Autowired

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

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

示例代码

java 复制代码
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 {
	
	@Autowired
	private OperatorLogDao operatorLogDao;
	/**
	 * 添加/修改操作日志
	 * @param operaterLog
	 * @return
	 */
	public OperaterLog save(OperaterLog operaterLog){
		return operatorLogDao.save(operaterLog);
	}
}

Dao数据库操作层

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

@Repository

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

示例代码

java 复制代码
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> {
	
}

控制器文件

示例代码-增加

java 复制代码
//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);

增加成功

示例代码-修改

java 复制代码
operaterLog.setId(Long.valueOf(1));
operaterLog.setOperator("【hanshuh】");

修改成功

相关推荐
砚底藏山河3 分钟前
python量化实操:回测数据缓存与重放
java·python·金融·1024程序员节
学长毕设8 分钟前
基于springboot的农资管理系统-附源码
java·spring boot·后端
晒太羊的猫26 分钟前
hot100子串
java·算法·leetcode
这个DBA有点耶33 分钟前
测试全绿,上线三周数据没入账——那个95%的兼容度报告,漏掉的是边界
数据库·mysql·架构
拖孩40 分钟前
一个人 + AI 做的小程序,今天,正式回本了
前端·后端·微信小程序
1024奇点42 分钟前
【仓颉语言入门 · 第二篇 第 15 课】
开发语言·数据库·ide·开源
进击的丸子1 小时前
代理网络环境下 Linux Pro 在线激活实操指南
javascript·后端·安全
开开心心就好1 小时前
本地文件搜索工具,双击Ctrl就能呼出搜索
java·服务器·前端·支持向量机·ffmpeg·音视频·模拟退火算法
独隅1 小时前
Claude 高效使用指南深度评测
java·开发语言·claude·claude code