SpringBoot系列三:整合JPA,自定义SQL保存对象

一、JpaBookDO.java

 1 package com.moon.springboot.entity;
 2 
 3 import lombok.AllArgsConstructor;
 4 import lombok.Data;
 5 import lombok.NoArgsConstructor;
 6 
 7 import javax.persistence.Entity;
 8 import javax.persistence.GeneratedValue;
 9 import javax.persistence.GenerationType;
10 import javax.persistence.Id;
11 import java.io.Serializable;
12 import java.math.BigDecimal;
13 import java.util.Date;
14 
15 @Data
16 @AllArgsConstructor
17 @NoArgsConstructor
18 @Entity(name = "book")//自动生成的表名为book
19 public class JpaBookDO implements Serializable {
20     /**
21      * 主键
22      */
23     @Id
24     @GeneratedValue(strategy = GenerationType.IDENTITY)
25     private Integer pkid;
26 
27     /**
28      * 创建时间
29      */
30     private Date gmtCreated;
31 
32     /**
33      * 修改时间
34      */
35     private Date gmtModified;
36 
37     /**
38      * 删除时间
39      */
40     private Date gmtDeleted;
41 
42     /**
43      * 删除标识:1已删除 0未删除
44      */
45     private Integer isDeleted;
46 
47     /**
48      * 书名
49      */
50     private String name;
51 
52     /**
53      * 作者
54      */
55     private String author;
56 
57     /**
58      * 价格
59      */
60     private BigDecimal price;
61 
62     /**
63      * 出版社
64      */
65     private String publisher;
66 }

二、JpaBookDao.java

 1 package com.moon.springboot.dao;
 2 
 3 import com.moon.springboot.entity.JpaBookDO;
 4 import org.springframework.data.jpa.repository.JpaRepository;
 5 import org.springframework.data.jpa.repository.Modifying;
 6 import org.springframework.data.jpa.repository.Query;
 7 import org.springframework.data.repository.query.Param;
 8 import org.springframework.transaction.annotation.Transactional;
 9 
10 public interface JpaBookDao extends JpaRepository<JpaBookDO,Integer> {
11     @Query(nativeQuery = true,value = "insert into book(pkid,gmt_created,gmt_modified,gmt_deleted,is_deleted,name,author,price,publisher) values(null,now(),now(),now(),0,:#{#jpaBookDO.name},:#{#jpaBookDO.author},:#{#jpaBookDO.price},:#{#jpaBookDO.publisher})")
12     @Modifying
13     @Transactional
14     int saveBook(@Param("jpaBookDO") JpaBookDO jpaBookDO);
15 }

 

三、参考 

 1 https://www.cnblogs.com/jptangchina/p/11023041.html 

 

posted @ 2022-01-16 22:35  谁怕?一蓑烟雨任平生  阅读(94)  评论(0)    收藏  举报