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


    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 {
    	
    	@Autowired
    	private OperatorLogDao operatorLogDao;
    	/**
    	 * 添加/修改操作日志
    	 * @param operaterLog
    	 * @return
    	 */
    	public OperaterLog save(OperaterLog operaterLog){
    		return operatorLogDao.save(operaterLog);
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    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> {
    	
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    控制器文件

    示例代码-增加

    //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);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    增加成功

    在这里插入图片描述

    示例代码-修改

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

    修改成功

    在这里插入图片描述

  • 相关阅读:
    mysql 间隙锁原理深度详解
    数据库模式与范式 - 数据库的范式化设计
    Linux操作系统与Shell编程
    Unity3D 关于过大的UI帧动画如何处理详解
    JS点击图片指定对象变色两种方法
    软件测试:性能测试工具Jmeter与Locust
    Shell编程自动化之特殊变量、特殊状态变量和Shell子串
    Spring Cloud - 带你认识微服务,简单demo实现服务拆分及远程调用
    unity操作_光源组件 c#
    Mysql8.0下载安装与配置
  • 原文地址:https://blog.csdn.net/weixin_45880844/article/details/133380790