`

mybatis sql in 语句(转)

阅读更多

 

mybatis官方文档: http://mybatis.github.io/mybatis-3/zh/index.html

 

文章出自:

http://fireinjava.iteye.com/blog/1779420

http://www.blogjava.net/xmatthew/archive/2011/08/31/355879.html

 

 

 

1. 当查询的参数只有一个时 
  findByIds(List<Long> ids)
 1.1 如果参数的类型是List, 则在使用时,collection属性要必须指定为 list

<select id="findByIdsMap" resultMap="BaseResultMap">
 Select
 <include refid="Base_Column_List" />
 from jria where ID in
 <foreach item="item" index="index" collection="list" open="(" separator="," close=")">
  #{item}
 </foreach>
</select>

 

findByIds(Long[] ids)
 1.2 如果参数的类型是Array,则在使用时,collection属性要必须指定为 array

 <select id="findByIdsMap" resultMap="BaseResultMap">
 select
 <include refid="Base_Column_List" />
 from tabs where ID in
 <foreach item="item" index="index" collection="array" open="(" separator="," close=")">
  #{item}
 </foreach>
    </select>

 

2. 当查询的参数有多个时,例如 findByIds(String name, Long[] ids)
 这种情况需要特别注意,在传参数时,一定要改用Map方式, 这样在collection属性可以指定名称
         下面是一个示例
   

Map<String, Object> params = new HashMap<String, Object>(2);
         params.put("name", name);
         params.put("ids", ids);
         mapper.findByIdsMap(params);

       

 

<select id="findByIdsMap" resultMap="BaseResultMap">
 select
 <include refid="Base_Column_List" />
 from tabs where ID in
 <foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
  #{item}
 </foreach>
</select>

 

 

分享到:
评论

相关推荐

    mybatis动态SQL语句

    if 、where、set、trim、choose 、foreach等在mybatis中的具体用法,有具体实例可供参考,玩转mybatis

    Mybatis执行SQL语句的方式

    Mybatis 执行 SQL 语句的方式 Mybatis 是一个基于 Java 的持久层框架,它提供了多种方式来执行 SQL 语句。在本文中,我们将介绍三种执行 SQL 语句的方式:通过 Mapper 接口、通过 XML 配置文件、通过 SqlSession ...

    原样输出mybatis的sql执行语句(mysql和oracle都可用).zip

    本文将深入探讨如何在SpringBoot(整合MyBatis)和传统的SSM(Spring、SpringMVC、MyBatis)项目中,原样输出MyBatis的SQL执行语句,以便于开发者直观地检查SQL语句是否正确和高效,从而进行优化和调试。此方法对...

    mybatis直接执行sql语句后续之一

    在IT行业中,MyBatis是一个广泛使用的持久层框架,它允许开发者直接编写SQL语句,提供了灵活的数据访问和映射机制。这篇博客“mybatis直接执行sql语句后续之一”可能探讨了如何在MyBatis中高效且有效地执行SQL操作。...

    mybatis 动态sql及参数传递

    在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...

    MyBatis 3 _ SQL 语句构建器1

    MyBatis 3 的 SQL 语句构建器是其核心特性之一,它提供了一种更加优雅、可读性更强的方式来构建动态 SQL。SQL 语句构建器支持多种风格的 SQL 编写,包括匿名内部类风格、Builder/Fluent 风格以及动态条件构建。 1. ...

    Mybatis日志SQL解析工具

    该工具可以将mybatis输出的sql日志提取出来,并将其格式化为可以直接执行的sql语句,节约开发人员时间

    mybatis+spring 框架中配置日志中显示sql语句

    在MyBatis与Spring整合的框架中,为了便于调试和性能优化,我们常常需要在日志中打印出执行的SQL语句。以下是如何在这样的环境中配置日志来显示SQL语句的详细步骤。 首先,我们需要了解MyBatis的日志实现。MyBatis...

    ideal mybatis打印sql插件

    把 mybatis 输出的sql日志还原成完整的sql语句。 将日志输出的sql语句中的问号 ? 替换成真正的参数值。 通过 "Tools -&gt; MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 点击窗口左边的 "Filter" ...

    mybatissql_mybatis解决sql注入

    标题 "mybatissql_mybatis解决sql注入" 暗示了我们正在讨论MyBatis框架如何处理SQL注入问题。SQL注入是一种常见的安全漏洞,攻击者可以通过恶意输入篡改SQL查询,获取、修改或删除数据库中的敏感数据。MyBatis,作为...

    在mybatis执行SQL语句之前进行拦击处理实例

    MyBatis拦截器实践 - 在MyBatis执行SQL语句之前进行拦截处理实例 MyBatis作为一个流行的持久层框架,提供了强大的数据库交互能力,但是在某些特殊场景下,我们需要在MyBatis执行SQL语句之前进行拦截处理,这便需要...

    idea插件mybaits log 打印sql语句

    标题 "idea插件mybaits log 打印sql语句" 涉及的是一个针对IntelliJ IDEA的MyBatis日志插件,它的主要功能是帮助开发者在开发过程中实时查看并打印出MyBatis执行的SQL语句。这个功能对于调试和优化数据库查询非常...

    Mybatis中SQL语句的编写.pdf

    ### MyBatis中SQL语句的编写 #### 一、概述 在MyBatis框架中,SQL语句的编写是一项核心任务。MyBatis作为一款优秀的持久层框架,支持多种方式来定义SQL语句,包括XML配置文件和注解等方式。本文档主要介绍在XML配置...

    mybatis慢SQL插件

    拦截器监控慢SQL并将完整的可执行的SQL语句打印在日志文件中,复制该SQL语句即可在数据库工具中执行。 使用方法: 找到你springboot项目中的配置文件,增加如下配置即可 application.yml 配置如下: sql: slow...

    Mybatis案例一所用建表语句

    Mapper接口则用于在Java代码中调用这些SQL,使得业务逻辑和SQL语句分离,提高了代码的可读性和可维护性。 在"Mybatis案例一所用建表语句"中,我们可以推测这是一个关于创建数据库表的示例。在MySQL中,建表语句...

    mybatis自动生成语句

    关于mybatis自动生成语句,还有一些jar,需要的联系我

    mybatis动态sql语句详解

    ### MyBatis动态SQL语句详解 #### 一、MyBatis简介 MyBatis是一个优秀的持久层框架,它支持自定义SQL语句、存储过程以及高级映射功能。通过使用MyBatis,开发人员可以避免编写大量的JDBC代码和手动设置参数以及...

    MyBatis连接SQLServer的小例子

    接着,定义一个Mapper接口,例如UserMapper,以及对应的XML映射文件(UserMapper.xml),用于编写SQL语句: ```java public interface UserMapper { User selectUser(int id); } ``` ```xml SELECT * FROM ...

    mybatis Sql打印两种方式

    这样配置后,MyBatis会在DEBUG级别及以上时打印出所有执行的SQL语句,包括占位符(?)和实际参数,帮助开发者了解SQL的执行情况。 2. **MyBatis拦截器SQL打印** MyBatis提供了一种更灵活的方式来打印SQL,即使用...

    Mybatis动态sql语句的mapper.xml文件

    根据不同的条件拼接SQL语句是一件极其痛苦的工作。例如:拼接时要确保添加了必要的空格,还要注意去掉列表最后一个列名的逗号。而动态SQL恰好解决了这个问题,可以根据场景动态的构建查询。 动态SQL,它一般是根据...

Global site tag (gtag.js) - Google Analytics