spring boot 配置 JPA

news/2024/7/5 20:57:10 标签: java, 数据库

application.properties的配置

spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://localhost:5432/to_database
spring.datasource.username=postgres
spring.datasource.password=123456789
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
复制代码

新建Repository接口,继承JpaRepository

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface EmployeeInfoRepository extends JpaRepository<EmployeeInfo, Long> {
    List<EmployeeInfo> findByLuckyStatus(String luckyStatus);
    List<EmployeeInfo> findByUmNo(String unNo);
    List<EmployeeInfo> findByOrderByUmNoAsc();

    @Transactional
    @Modifying
    @Query("update EmployeeInfo set luckyStatus = :luckyStatus")
    int updateLuckyStatus(@Param("luckyStatus") String luckyStatus);
}
复制代码

新建Entity

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class EmployeeInfo {

    @Id
    @GeneratedValue
    private  Long id;

    private String umNo;

    private String name;

    private String luckyStatus;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUmNo() {
        return umNo;
    }

    public void setUmNo(String umNo) {
        this.umNo = umNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLuckyStatus() {
        return luckyStatus;
    }

    public void setLuckyStatus(String luckyStatus) {
        this.luckyStatus = luckyStatus;
    }
}
复制代码

service调用

import com.stock.core.entity.EmployeeInfo;
import com.stock.core.respository.EmployeeInfoRepository;
import com.stock.core.service.EmployeeInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

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

@Service
public class EmployeeInfoServiceImpl implements EmployeeInfoService {

    @Autowired
    private EmployeeInfoRepository employeeInfoRepository;

    @Override
    public List<EmployeeInfo> getAllEmployeeInfoList() {
        return employeeInfoRepository.findByOrderByUmNoAsc();
    }

    @Override
    public List<EmployeeInfo> getByLuckyStatus(String luckyStatus) {
        return employeeInfoRepository.findByLuckyStatus(luckyStatus);
    }

    @Override
    public int saveEmployeeInfo(String umNo, String name) {
        umNo = umNo.toLowerCase();
        EmployeeInfo employee = null;
        List<EmployeeInfo> list = employeeInfoRepository.findByUmNo(umNo);
        if(null != list && !list.isEmpty()){
            employee = list.get(0);
        }else{
            employee = new EmployeeInfo();
        }
        employee.setUmNo(umNo);
        employee.setName(name);
        employee.setLuckyStatus("0");
        employeeInfoRepository.save(employee);
        return 1;
    }

    @Override
    public int employeeSoLuckiLy(Long id) {
        Optional<EmployeeInfo> optional = employeeInfoRepository.findById(id);
        if(null == optional){
            return 0;
        }
        EmployeeInfo employee = optional.get();
        if(null == employee){
            return 0;
        }
        employee.setLuckyStatus("1");
        employeeInfoRepository.save(employee);
        return 1;
    }

    @Override
    public int setLuckyStatus(String luckyStatus) {
        return employeeInfoRepository.updateLuckyStatus(luckyStatus);
    }
}
复制代码

http://www.niftyadmin.cn/n/1791009.html

相关文章

字节顺序

字节顺序 #include <stdio.h>typedef int* int_ptr; typedef unsigned char* byte_ptr;void show_bytes( byte_ptr start, int len ){int i;for( i 0; i < len; i ){printf( " %4.2x", start[i] );}printf( "\n" );}void show_int( int x ){show…

Java原型模式--拷贝

package com.xianyu.prototype;import java.util.Date;/*** author xianyu* version 1.0* date 2020/3/15 21:36* 复制视频源文件* 1. 实现一个接口* 2. 重写一个方法*/ public class Video implements Cloneable{ // 实现一个接口private String name;private Date createTim…

GPA低于2.0被开除

GPA低于2.0被开除&#xff08; Q 575121832&#xff09; GPA太低会被开除吗&#xff1f; GPA是衡量学生学术水平的一个重要指标。一般而言&#xff0c;如果连续两学期&#xff0c;本科生的GPA达不到2.0、研究生的GPA达不到3.0&#xff0c;都有可能面临被学校劝退或开除的情况。…

5294 挖地雷

5294 挖地雷 时间限制: 1 s 空间限制: 1000 KB题目等级 : 黄金 Gold题目描述 Description在一个地图上有N个地窖&#xff08;N<20&#xff09;&#xff0c;每个地窖中埋有一定数量的地雷。同时&#xff0c;给出地窖之间的连接路径。当地窖及其连接的数据给出之后&#xff0c…

sysbench的框架实现介绍

sysbench是一个非常经典的综合性能测试工具&#xff0c;它支持CPU&#xff0c;IO&#xff0c;内存&#xff0c;尤其是数据库的性能测试。那它是怎么做到通用性的呢&#xff0c;总结一句话是大量运用了重载的方法。 sysbench总体架构 sysbench是一个总体框架&#xff0c;它用来操…

Appium Android Bootstrap源代码分析之简单介绍

在上一个系列中我们分析了UiAutomator的核心源代码&#xff0c;对UiAutomator是怎么执行的原理有了根本的了解。今天我们会開始另外一个在安卓平台上基于UiAutomator的新起之秀--Appium的源代码分析之旅。本文在真个系列中会扮演一个简单介绍的角色&#xff0c;不会分析不论什么…

Friedman test 和 Bonferroni-Dunn test 整理

Friedman test 和 Bonferroni-Dunn test 是作者写论文时遇到的,经查阅相关文献&#xff0c;内容整理如下&#xff0c;如有错误&#xff0c;还望指正。

webservice接口与HTTP接口学习笔记

一、webservice 的概念 Web 是使应用程序可以与平台和编程语言无关的方式进行相互通信的一项技术。Web 服务是一个软件接口&#xff0c;它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。它使用基于 XML 语言的协议来描述要执行的操作或者要与另一个 Web 服务交换…