• jpa @Query()参数设置,:冒号方式、?NO.问号方式、实体类对象参数设置


    一、service层事务(update/delete)

    @Transactional(rollbackFor = Exception.class)

    二、@Query()参数设置

    ?x  和:XX不能混用

    package cc.ash.test;
    
    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.data.repository.query.Param;
    
    public interface StuDao extends JpaRepository<Stu, Long>, JpaSpecificationExecutor<Stu> {
                                                        //主键类型
        @Modifying
        @Query(value = "update Stu wxpay set stu.name = :name, stu.alias = :alias, " +
                "stu.age = :age where stu.id = :id")
        void updatePayState(@Param("name") String stuName,
                            @Param("alias") String stuAlias,
                            @Param("age") int stuAge,
                            @Param("id") String stuId);
    
        @Modifying
        @Query(value = "update Stu wxpay set stu.name = ?1, stu.alias = ?3, " +
                "stu.age = ?2 where stu.id = ?4")
        void updatePayState(String stuName,
                            int stuAge,
                            String stuAlias,
                            String stuId);
    
        @Modifying
        @Query(value = "update Stu s set s.name = :#{#stu.name}, s.age = :#{#stu.age}, " +
                "s.alias = :#{#stu.alias} where s.id = :#{#stu.id}")
        int updatePayState2(@Param("stu") Stu stu);
    }

    2.实体类

    package cc.ash.test;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    import javax.persistence.*;
    
    @Data
    @Entity
    @NoArgsConstructor
    @AllArgsConstructor
    @Table(name = "tbl_stu", indexes = {@Index(name = "idx_索引名字", columnList = "建立索引的属性")})
    public class Stu {
    
        @TableGenerator(
                name = "StuGenerator",
                table = "tbl_stu",
                pkColumnName = "app_seq_name",
                pkColumnValue = "tbl_stu_seq",
                valueColumnName = "app_seq_value",
                initialValue = 1000,
                allocationSize = 1
        )
    
        @Id
        @GeneratedValue(strategy = GenerationType.TABLE, generator = "WxpayFundFlowGenerator")
        private Long id;
    
        @Column(columnDefinition = "varchar(10) COMMENT '名字'")
        private String name;
    
        //省略
        private int age;
        private String alias;
    }
  • 相关阅读:
    MinIO监控指南
    使用kuboard部署某一个应用的pod分布于不同的主机上
    使用 Shell 命令 分析服务器日志
    K8S容器HeadlessService间动态IP通信
    科技动态
    Minio纠删码快速入门
    关于使用kuboard安装其自带的监控应用的注意事项
    MinIO存储桶通知指南
    网络稳定性测试
    使用filebeat收集k8s上pod里的容器日志配置文件模板
  • 原文地址:https://www.cnblogs.com/foolash/p/11794063.html
Copyright © 2020-2023  润新知