使用 :param的方式来传递参数,下面举个例子

  1. @PersistenceContext
  2. ​​​​​​​EntityManager em
  1. @Override
  2. public List<Map> ajaxRelationByCompanyUUID(String companyUUID, String ajaxQuery,List<Integer> types, Integer fetchSize) {
  3. String sql = "select * from Company where companyuuid= :companyuuid" +
  4. " and CompanyType in (:types)";
  5. Map<String, Object> params = new HashMap<String, Object>();
  6. //公司uuid
  7. params.put("companyuuid",companyUUID);
  8. //公司类型(集合)
  9. params.put("types",types);
  10. //模糊查询
  11. if (StringUtils.isNotBlank(ajaxQuery)) {
  12. sql += " and (CompanyNameCN like :ajaxQuery )";
  13. params.put("ajaxQuery" ,"%" + ajaxQuery + "%");
  14. }
  15. Query query = em.createNativeQuery(sql);
  16. for (Map.Entry<String, Object> entry : params.entrySet()) {
  17. query.setParameter(entry.getKey(), entry.getValue());
  18. }
  19. return super.exectSqlMap(query);
  20. }

exectSqlMap:

  1. protected List<Map> exectSqlMap(Query query) {
  2. query.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
  3. return query.getResultList();
  4. }

或者

  1. public SysAppversion GetApp(String appCode, BigDecimal appVersion)
  2. {
  3. String sql = "select * from sys_appversion where AppCode= ? and AppVersion> ? order by AppVersion desc limit 1 ";
  4.  
  5. List<Object> params = ListUtil.initList(Object.class);
  6. params.add(appCode);
  7. params.add(appVersion);
  8.  
  9. Query query = dao.getCurSession().createSQLQuery(sql).addEntity(SysAppversion.class);
  10. for (int i = 0; i < params.size(); i++) {
  11. query.setParameter(i, params.get(i));
  12. }
  13. if(query!=null)
  14. return (SysAppversion)query.list().get(0);
  15. return null;
  16. }

JPA Query in 集合的更多相关文章

  1. JPA query 基本语法解释

    详细语法官网去学习 -->> http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#reference Qu ...

  2. 20191217-关于JPA @Query查询数据一直为空,直接在数据库里执行SQL则可以查出来

    20191217-关于JPA @Query查询数据一直为空,直接在数据库里执行SQL则可以查出来 前提:数据库中查询,由于在视图中无主键概念,只是在代码中由逻辑主键.结果:数据中作为逻辑主键中有个字段 ...

  3. 【Spring Data 系列学习】Spring Data JPA @Query 注解查询

    [Spring Data 系列学习]Spring Data JPA @Query 注解查询 前面的章节讲述了 Spring Data Jpa 通过声明式对数据库进行操作,上手速度快简单易操作.但同时 ...

  4. spring data jpa @query的用法

    @Query注解的用法(Spring Data JPA) 参考文章:http://www.tuicool.com/articles/jQJBNv . 一个使用@Query注解的简单例子 @Query( ...

  5. jpa @Query()参数设置,:冒号方式、?NO.问号方式、实体类对象参数设置

    一.service层事务(update/delete) @Transactional(rollbackFor = Exception.class) 二.@Query()参数设置 ?x  和:XX不能混 ...

  6. JPA query between的多种方式(mongodb为例)

    背景 JPA+MongoDB查询,给定一段时间范围查询分页结果,要求时间范围包含. Page<Log> findByCtimeBetweenOrderByCtime( LocalDateT ...

  7. spring jpa @Query中使用in

    @Modifying @Query("delete from SmTenant s where s.id in ?1") void deleteByIds(List<Long ...

  8. JPA入门学习集合springboot(一)

    1.在pom.xml文件中添加相应依赖 SpringData jpa和数据库MySql <!-- Spring Data JPA 依赖(重要) --> <dependency> ...

  9. JPA使用之@Query的常用写法

    准备 实体 @Data @Table(name = "task_apply") @Entity public class TaskApply { @Id @GeneratedVal ...

随机推荐

  1. 结合Poi实现可读取Excel的文件选择对话框

    第一步:ApachePoi的jar包导全,不全会出现异常. 第二步:写就完事了:此例为读取特定模板的excel,仅供参考,根据实际需求改写. package 自建包; import java.awt. ...

  2. C# WinForm控件之advTree

    0.属性和方法 //属性方法 advTree1.DragDropEnabled = !advTree1.DragDropEnabled;//控制是否可以拖动节点到 不同的层级下 advTree1.Mu ...

  3. SDL系列之 - 用SDL动态地画一个圆喽 && 设置背景色

    #include <SDL.h> #include <stdlib.h> #include <string.h> #include <math.h> # ...

  4. ArcGis相接面补节点c#

    相接(Touch)面执行切割后 新面与原相接面会缺少公共节点. private void AddPointToTouchesPolygon(IFeatureCursor newFeatureCurso ...

  5. 《代码大全2》读书笔记 Week3

    <代码大全2>第六.七章 作者在第六章中从抽象数据类型(Abstract Data Type)出发阐释类(class)的概念,给出创建类的原因以及创建高质量的常涉及的设计问题.抽象数据类型 ...

  6. js实现各种复制功能

    引用: <script src="https://clipboardjs.com//dist/clipboard.min.js"></script> 示例1 ...

  7. 安装Hama的基本过程

  8. 搭建一个node.js项目

    初始化项目 新建一个文件夹,运行 npm init 初始化项目 mkdir okadaGo cd okadaGo npm init 按照提示输入一些项目的相关信息 D:\web\node>mkd ...

  9. tomcat nio apr

    NIO[root@localhost ~]# vim /usr/local/tomcat9/conf/server.xml<Connector port="8080" pro ...

  10. 笔记51 Mybatis快速入门(二)

    Mybatis的CRUD 1.修改配置文件Category.xml,提供CRUD对应的sql语句. <?xml version="1.0" encoding="UT ...