使用jpa原生sql@Query操作增删改查

网友投稿 1198 2023-01-11

使用jpa原生sql@Query操作增删改查

使用jpa原生sql@Query操作增删改查

jpa原生sql@Query操作增删改查

1、jpa 原生update的sql语句:

1.命名参数(推荐使用此方式):可以定义好参数名,赋值时使用@Param("参数 名"), 而不用管顺序。

为@Query注解传递参数的方式1:命名参数

/*@Query("delete from product where p.id=:id")

List testQueryAnnotationParams2(@Param("status") String status, @Param("id") String id);

void updateByProductId(@Param("id") String id);*/

2.索引参数如下所示,索引值从1开始,查询中"?X"个数需要与方法定义的参数个数相一致,并且顺序也要一致。

@Modifying(clearAutomatically=true)

@Query(value = "update Product set status=1 where id=?1",nativeQuery = true)

void updateByProductId(String id);

2、jpa 原生delete的sql语句:

@Modifying(clearAutomatically=true)

@Query(value = "delete from Productwhere id=?1",nativeQuery = true)

void delByProductId(String id);

3、jpa 原生insert的sql语句:

@Modifying(clearAutomatically=true)

@Query(value="insert into product(id,name,category,description,status) values(?1,?2,?3,?4,?5)",nativeQuery = true)

void addProduct(String id,String name,String cagetory,String description,String status);

4、jpa 原生insert的sql语句:

还没弄懂。。。。。。。。。。。。

//jpa 多对多关系的表联合查询 DAO层

@Query(valizdcQBfue = "select s from SysUserDTO s left join s.sysOrgDTOSet o where (?1 is null or s.username like ?1) and (?2 is null or o.name like ?2)")

Page finhttp://dByUsernameAndOrgName(String username, String orgName, Pageable pageable);

// service层

public Page findByUsernameAndOrgName(String username, String orgName, Pageable pageable){

String name = (username==null)?null:"%"+username+"%";

String orgname = (orgName==null)?null:"%"+orgName+"%";

return sysUserDAO.findByUsernameAndOrgName(name,orgname,pageable);

}

JPA 用原生sql语句执行操作

这里在 @Query 注解中增加一http://个 nativeQuery = true 的属性,就可以采用原生 SQL 语句的方式来编写查询。

@Query(nativeQuery = true, value = "SELECT * FROM AUTH_USER WHERE name = :name1 OR name = :name2 ")

List findSQL(@Param("name1") String name1, @Param("name2") String name2);

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序生态哪个最大推广(小程序生态哪个最大推广)
下一篇:小程序生态哪个最大的(微信小程序生态是什么)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~