jpa原生query_Spring Data JPA原生SQL查询
package com.test.cms.dao.repository;
import org.springframework.stereotype.Repository;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import java.math.BigInteger;
import java.util.*;
/**
* 构建复杂查询
* @author lchb
*/
@Repository
public class NativeQueryRepository{
@PersistenceContext
private EntityManager entityManager;
/**
* 根据sql查询
* @param sql
* @param resultClass
* @param
* @return
*/
public List findBySql(String sql,Class resultClass){
Query nativeQuery=null;
if(resultClass!=null && !resultClass.equals(Object.class)) {
nativeQuery = entityManager.createNativeQuery(sql, resultClass);
}else{
nativeQuery = entityManager.createNativeQuery(sql);
}
List rows = nativeQuery.getResultList();
List resultList=new ArrayList();
for (Object obj : rows) {
T row=(T)obj;
resultList.add(row);
}
return resultList;
}
/**
* 根据参数查询
* @param sql
* @param parameters
* @param resultClass
* @param
* @return
*/
public List findBySql(String sql,Map parameters,Class resultClass){
Query nativeQuery=null;
if(resultClass!=null && !resultClass.equals(Object.class)) {
nativeQuery = entityManager.createNativeQuery(sql, resultClass);
}else{
nativeQuery = entityManager.createNativeQuery(sql);
}
Iterator> entries = parameters.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry entry = entries.next();
nativeQuery.setParameter(entry.getKey(),entry.getValue());
}
List rows = nativeQuery.getResultList();
List resultList=new ArrayList();
for (Object obj : rows) {
T row=(T)obj;
resultList.add(row);
}
return resultList;
}
public Integer findCountBySql(String sql,Map parameters){
List list=this.findBySql(sql,parameters,Object.class);
BigInteger total=(BigInteger)list.get(0);
return total.intValue();
}
}
jpa原生query_Spring Data JPA原生SQL查询相关推荐
- jpa原生query_Spring Data Jpa @Query原生SQL
使用Spring Data JPA时,可以使用@Query注解解决表关联查询问题.使用@Query注解可以使用原生SQL.此时,会遇到如何分页,如何动态拼装SQL等问题. 原生SQL 在@Query注 ...
- Hibernate、JPA、Spring Data JPA,傻傻分不清
国庆假期接近尾声,明天最后一天了,要开始收收心啦- 今天讲讲一个初学者(或许一些老手)可能没去搞懂的几个概念:Hibernate.JPA.Spring Data JPA 之间的关联. 嘿嘿,前段时间有 ...
- mysql jpa 正则_Spring Data JPA 实例查询
数量:1 刘芳 三.认识"实例查询" 1.概念定义: 上面例子中,是这样创建"实例"的:Example ex = Example.of(customer, ma ...
- 简述 JPA 与 Spring Data JPA 与 Hibernate
1.JPA是什么?以及相关概述 JPA的是 Java Persistence API 的简写,是Sun官方提出的一种ORM规范! Sun提出此规范有2个原因: 1.简化现有Java EE和Java S ...
- 【spring data jpa】spring data jpa 中的update 更新字段,如果原字段值为null不处理,不为null则在原来的值上加一段字符串...
示例代码: /*** 如果barCode字段值为null则不处理* 如果barCode字段值不为null则在原本值的前面拼接 del:* @param dealer* @return*/@Modify ...
- springboot jpa sql打印_SpringBoot集成Spring Data JPA以及读写分离
相关代码:github OSCchina JPA是什么 JPA(Java Persistence API)是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具 来管理 ...
- SpringBoot学习笔记:Spring Data Jpa的使用
更多请关注公众号 Spring Data Jpa 简介 JPA JPA(Java Persistence API)意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范(JSR ...
- hql实例 jpa_SpringBoot学习笔记九:Spring Data Jpa的使用
Spring Data Jpa 简介 JPA JPA(Java Persistence API)意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范(JSR 338,这些接口 ...
- hibernate mysql 读写分离_SpringBoot集成Spring Data JPA及读写分离
JPA是什么 JPA(Java Persistence API)是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具 来管理Java应用中的关系数据.它包括以下几方面 ...
最新文章
- redis必杀高级:性能测试
- ireport各个版本的下载地址分享
- QT的QMenuBar类的使用
- PHP的static
- 【渝粤题库】国家开放大学2021春2724市场营销原理与实务题目
- 「mysql优化专题」主从复制面试宝典!面试官都没你懂得多!(11)
- win8安装python3后不能编程_Win8.1 64位系统,python3.4 肿么安装gevent成功后不能用
- 【华为云技术分享】数据湖数据库,别再傻傻分不清了
- 联想9439微型计算机拆机,e43a 拆解文章.docx
- STM32WL开发之LORA产品选型
- php阿拉伯数字转换大写,php 阿拉伯数字如何转大写
- 2018怎样发英文外链才能提升谷歌排名
- InstallShield软件详解
- php上传文件失败解决方案
- 实验室常见的PFA制品有哪些?这些特氟龙PFA产品你认得全吗?
- java常用混淆工具(有链接)
- 行业洞察|如何更好地建设数据中台?IT和业务要“齐步走”
- Java基础重温_02:运算符、三元运算符案例(2只老虎、3个和尚)、键盘录入(Scanner类)、控制流程语句、控制流程语句案例(奇偶数、考试奖励)
- 2022.05面试总结
- 用 Python 爬取分析每日票房数据