Spring注解JPA @Query注解怎么用一个复合主键的属性写查询sql

版权声明:本文为博主原创文章欢迎转载和分享,但请勿用于商业用途 /lw_power/article/details/

注意到:如果我们使用原生的 SQL,控制台打印的语句也会是原生 SQL 的例如上面我们最后一个测试方法控制台打印:

JPA就是一个基于O/R映射的标准规范(即实体类和数据库中的表的一种对映)

3.创建与数据库中的表对映的实体类和数据访问层(JpaRepository)

使用Spring注解 Data JPA建立数据库十分简单只需要定义一個继承了JpaRepository的接口,如下:

继承了JpaRepository就相当于有了下面的数据访问操作方法

在JPA中有三种方式可以进行数据的查询(1,方法命名查询 2,@NamedQuery查询 3,@Query查询),

先来介绍第一种:方法命名查询

1. Spring注解 Data JPA支持通过定义在Repository接口的方法来定义查询方法名字是根据实体类的属性名来确定的,示例如下:

* 通過地址进行查询参数为address, * 通过地址和名字进行查询,参数为name,address

2.用关键字限制结果数量用top和first来实现,示例如下:

*查询符合条件的前十条记录
*查询符合条件的前30条记录

 Spring注解 Data JPA 支持@NameQuery来定义查询方法即一个名称映射一个查询语句(要在实体类上写,不是接口里写)示例如下:

这样子就偅新定义了findByName这个方法了。

如果要将多个方法都进行重新定义可以使用@NameQueries标签,示例如下:

这个时候,接口里定义的findByName方法就是上面的方法了鈈再是方法命名查询的方法了。

这里的参数是根据索引号来进行查询的

当然我们也是可以根据名称来进行匹配,然后进行查询的示例洳下:

讲完查询,我们再来看看更新是如何写的

int表示的是更新语句所影响的行数。

下篇正在努力编写中再深入探讨下JPA的其它一些功能。

我要回帖

更多关于 Spring注解 的文章

 

随机推荐