spring jpa sqls

package com.example.repository;

import java.util.List;

import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.Repository;
import org.springframework.data.repository.query.Param;

import com.example.domain.Customers;

//注意:sql里的表名必须和对象名完全一致,包括大小写
//注意这里出现的都是对象名和对象中的属性名
public interface CustomersRepository extends Repository<Customers, Long>{
    @Query(value = "from Customers o where id=(select max(id) from Customers p)")
    public Customers getCustomersByMaxId();

    @Query(value = "from Customers o where o.name=?1 and o.phone=?2")
    public List<Customers> queryParams1(String name, Integer phone);

    @Query(value = "from Customers o where o.name=:name and o.phone=:phone")
    public List<Customers> queryParams2(@Param("name")String name, @Param("phone")Integer phone);

    @Query(value = "from Customers o where o.name like %?1%")
    public List<Customers> queryLike1(String name);

    @Query(value = "from Customers o where o.name like %:name%")
    public List<Customers> queryLike2(@Param("name")String name);

    @Query(nativeQuery = true, value = "select count(1) from Customers o")
    public long getCount();
    
	@Modifying
	@Query(value = "update SystemConfigurationManagement o set o.configurationItemName=:configurationItemName, o.configurationItemValue=:configurationItemValue where o.id=:id ")
	void renameSystemConfigurationManagement(@Param("id") Long id, @Param("configurationItemName") String configurationItemName, @Param("configurationItemValue") String configurationItemValue);

    @Modifying
	@Query(value = "delete SystemConfigurationManagement o where o.id=:id ")
	void deleteSystemConfigurationManagementById(@Param("id")Long id);
    
    @Modifying
	@Query(value = "delete SystemConfigurationManagement o where o.id in (:idsList)")
	void deleteSystemConfigurationManagementByIds(@Param("idsList")List<Long> idsList);
    
}
原文地址:https://www.cnblogs.com/xiang--liu/p/9710157.html