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】");

修改成功

相关推荐
邪恶的贝利亚6 分钟前
从webrtc到janus简介
后端·asp.net·webrtc
Livingbody8 分钟前
Whisper 使用简单实例教程【1】
后端
啾啾Fun8 分钟前
【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析
java·redis·分布式·微服务·lua·redisson
为中华崛起而奋斗22 分钟前
Oracle 19c RAC集群ADG搭建
数据库·oracle
消失的旧时光-194323 分钟前
Android USB 通信开发
android·java
梁云亮23 分钟前
Spring Boot + Thymeleaf 防重复提交
spring boot·防抖·防重复提交
惊鸿一博25 分钟前
java_网络服务相关_gateway_nacos_feign区别联系
java·开发语言·gateway
betazhou2 小时前
mariadb5.5.56在centos7.6环境安装
android·数据库·adb·mariadb·msyql
开挖掘机上班2 小时前
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
数据库·mysql