`

spring jdbc查询时使用IN()的技巧

阅读更多

在使用SELECT查询时IN比OR的效率好。那么在Spring中如何使用IN()呢?

这是我原来的使用方式,用字符串拼接:

StringBuilder buf = new StringBuilder("SELECT name FROM pos_user WHERE id IN (");
// ids 是List<Integer>类型
for(int i = 0; i < ids.size(); i++) {
  if (i > 0) buf.append(",");
  buf.apend(ids.get(i));
}
buf.append(")");

List<String> list = jdbcTemplate.queryForList(buf.toString(), String.class);

 

实际上Spring JDBC提供了一种更优雅的方法:

NamedParameterJdbcTemplate namedParameterJdbcTemplate = 
    new NamedParameterJdbcTemplate(jdbcTemplate);

MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("ids", ids);
List<String> list = 
        namedParameterJdbcTemplate.query("SELECT name FROM pos_user WHERE id in (:ids)",
	                                  parameters, String.class);

 

 

分享到:
评论
2 楼 菜鸟在飞 2018-01-15  
          
1 楼 liang_sky_fly 2014-01-15  
问一下楼主,第二种方式中,ids参数的长度允许有多长啊?

相关推荐

    Spring+in+action+中文版(第4版)

    - **2.4.1 Spring JDBC 支持**:介绍Spring如何简化JDBC操作。 - **2.4.2 Spring ORM 支持**:介绍Spring如何集成常见的ORM框架如Hibernate等。 #### 2.5 Spring 的Web支持 - **2.5.1 Spring MVC**:Spring MVC是...

    Spring In Action中文版+英文版+文中源码

    该书详细介绍了Spring框架的各种功能和使用技巧,帮助开发者提升在实际项目中的应用能力。源码的提供则使得理论与实践相结合,使学习更为直观和深刻。 Spring框架是Java开发中最常用的应用框架之一,它以其模块化、...

    Spring In Action Second Edition

    6. **Spring测试**:书中也包含了大量的测试技巧和最佳实践,帮助读者了解如何使用Spring提供的测试支持来编写单元测试和集成测试,确保代码质量。 7. **实际项目应用**:除了理论知识,书中还包含了一些真实项目...

    SpringInAction_2nd_中文版

    在数据访问方面,《Spring in Action》详述了Spring对JDBC、ORM(Object-Relational Mapping)框架如Hibernate和MyBatis的支持,展示了如何使用Spring Data JPA简化数据访问层的开发。此外,还讨论了Spring的事务...

    Spring in action+中文版(第4版)spring 实践 高清目录版

    3. **数据访问**:涵盖Spring与各种数据库的集成,包括JDBC、Hibernate、JPA等ORM框架的使用,以及Spring Data项目,提供对现代NoSQL数据库的支持。 4. **Web开发**:讲解了Spring MVC,Spring Web Flow以及Spring ...

    Spring_in_Action.pdf

    《Spring in Action》一书由Craig Walls和Ryan Breidenbach撰写,由Manning Publications出版,是一本深入探讨Spring框架的权威指南。Spring框架是Java开发领域中最流行的企业级应用框架之一,它提供了一种轻量级的...

    Craig Walls 著 张卫滨 翻译 - spring inaction (spring 实战 第四版 )

    《Spring in Action》第四版是由Craig Walls撰写,张卫滨翻译的一本权威Spring框架实战教程。这本书基于Spring框架4.0版本,详细介绍了如何利用这一先进的Java应用开发平台进行实践操作。Spring框架是Java世界中不可...

    Hibernate/Spring/Structs2 In Action

    《Hibernate In Action》全面讲解了Hibernate的配置、映射、查询和优化技巧;《Struts2 In Action》则展示了如何利用Struts2构建高效、可测试的Web应用。 学习并掌握这三个框架,开发者能够构建出健壮、高性能的...

    spring in action英文版

    标题“Spring in Action英文版”和描述“Spring in Action”是该书的主体,它由Craig Walls和Ryan Breidenbach著作,旨在介绍Spring框架的核心概念和实用技巧。这本书分为三个部分,分别是Spring的基础、业务层的...

    spring in action中文版完整版

    通过阅读《Spring in Action》中文版的完整版,开发者可以系统地学习Spring框架,不仅能够理解其基本原理,还能掌握在实际项目中应用Spring的技巧。这将有助于提升开发者在Java企业级应用开发中的专业能力,更好地...

    spring In action源代码

    《Spring in Action》是一本深度剖析Spring框架的权威著作,其源代码提供了书中所有示例的实现,是学习和理解Spring框架运作机制的宝贵资源。本文将深入探讨Spring框架的核心概念,包括依赖注入、AOP(面向切面编程...

    White Paper Spring In Production

    - **JDBC支持**:Spring简化了JDBC操作,提供了一套易于使用的模板方法。 - **调优技巧**: - **优化Bean的生命周期**:合理设置Bean的scope属性,例如将不需跨请求共享的数据设置为prototype scope。 - **配置...

    Spring in Action 源码

    在阅读《Spring in Action》的源码时,我们可以看到这些概念如何在实际代码中得以体现,了解Spring框架的实现细节,这对于我们优化应用性能、解决实际问题具有很大帮助。同时,通过对源码的学习,还能提高我们的编程...

    Spring In Action(完整版)

    书中还会涵盖Spring与其他技术的整合,如RESTful服务、WebSocket、测试等方面,使你能够全面掌握Spring框架的使用技巧和最佳实践。对于想要深入SSH集成开发或者提升Spring技术的开发者来说,这本书无疑是一份宝贵的...

    Spring in action 第二版

    总的来说,《Spring in Action》第二版详细阐述了如何利用Spring 2.0进行高效的企业级应用开发,从基础概念到高级特性,深入浅出地介绍了Spring框架的各种使用技巧和最佳实践。这本书对于想要掌握Spring 2.0的Java...

    spring in action (English)

    这本书详细讲解了如何使用Spring框架构建高效、灵活的Java应用。 在Spring框架的核心概念中,依赖注入(Dependency Injection,DI)是其灵魂所在。DI允许开发者将对象之间的依赖关系解耦,使得组件更加独立,易于...

    spring in action 第二版 part1-part3

    通过阅读《Spring in Action》第二版的中文版,无论是初学者还是有经验的开发者,都能深入理解Spring框架的强大功能,并掌握实际项目中的应用技巧。书中的实例丰富,讲解清晰,是学习和提升Spring技术的宝贵资源。

Global site tag (gtag.js) - Google Analytics