Jpa 自定义查询语句
在使用Spring Data Jpa框架时,根据业务需求我们通常需要进行复杂的数据库查询,并返回我们自定义的实体类,而在该框架下,目前仅仅支持返回与数据库映射进行持久化的POJO实体。虽然在框架上我们可以使用@Query注解执行我们自定义的sql语句,但是其返回值为List<Object[]> 类型,即多个Object数组的List集合。
<Excerpt in index | 首页摘要>
<The rest of contents | 余下全文>
@Query()注解
通过使@query注解,可以自定义语句进行sql操作
下例为在数据库中查询10个随机的选择题的自定义查询方法:
1 | public interface MultipleChoiceRepository extends JpaRepository<MultipleChoice,Long> { |
开启mysql语句
1 | //nativeQuery= true开启mysql |
@Modefying()注解
如果是删除或修改操作,需要加入此注解进行修饰. 以通知 SpringData, 这是一个 UPDATE 或 DELETE 操作 ;默认情况下,是只读,所以查询不需要
参数传递:
@Param()注解
使用@Param注解可以给查询语句中注入参数
1 | Integer num |
在sql语句中使用 :参数名 进行调用
使用?占位符
1 | public interface MultipleChoiceRepository extends JpaRepository<MultipleChoice,Long> { |
sql语句中也可以使用?占位符的方式进行参数写入
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 caicai-blog!