Jpa的简单使用

2019-10-24  本文已影响0人  自由主义者
实体写法(eg:batch类)
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Entity
@Data
@Table(name = "t_batch")
public class Batch implements Serializable {

    private static final long serialVersionUID = -3451188452990771293L;

    @Id
    @Column(length = 32, nullable = false)
    @GeneratedValue(generator = "uuid") //指定生成器名称
    @GenericGenerator(name = "uuid", strategy = "uuid") //生成器名称,uuid生成类
    protected String id;

    //批次编号
    private String number;

    //批次名称
    private String name;

    //发放金额
    private BigDecimal rewardMoney;

    //扣减金额
    private BigDecimal deductMoney;

    //任务数量
    private Integer taskNum;

    //创建时间
    private Date createTime;

}
Dao写法
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface BatchRepository extends JpaRepository<Batch, String>, JpaSpecificationExecutor<Batch> {

    @Modifying
    @Query("DELETE FROM Batch b where b.id in (?1) ")
    void deleteBatchById(List<String> idList);

    @Query(value = "select count(b.id) from t_batch b where b.name = ?1 or b.number = ?2", nativeQuery = true)
    Integer checkNameAndNum(String name, String num);
}
上一篇下一篇

猜你喜欢

热点阅读