zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    firefox禁止更新提示
    laravel性能优化笔记片段
    laravel 7 在线教育项目实操笔记(2)后台基础功能开发
    一、笔记片段 迁移文件相关(创建表 字段 添加假数据等)
    路由、控制器笔记
    laravel rbac笔记片段
    二 笔记片段
    三 文件上传片段
    分享5个有趣的 JavaScript 代码片段
    异步上传文件
  • 原文地址:https://www.cnblogs.com/foolash/p/11794063.html
Copyright © 2011-2022 走看看