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

浙公网安备 33010602011771号