mybatis传参、被逗号、分割的字符串、数组传参

简介: mybatis传参、被逗号、分割的字符串、数组传参

案例借鉴:

       SELECT *
       FROM yp_popup_store_info store
       WHERE store.store_id 
       IN
            <foreach item="item" index="index" collection="ids.split(',')"  open="(" separator="," close=")">
                '${item}'
            </foreach>

实际使用:  

parameterType="pd"(是我封装的类似于map的参数集)

 <select id="countAttendByDate"  parameterType="pd" resultType="Integer">
    select 
      count(distinct c.user_id) as count
    from dd_b_pc_attendance_clock c
    WHERE 1=1
    <if test="deptId !=null and deptId !=''">
    AND c.dept_id 
      <foreach collection="deptId.split(',')" item="deptId" index="index" open="in(" close=")" separator=",">
            #{deptId}
    </foreach>
    </if>
    <if test="beginTime != null and endTime != null and beginTime != '' and endTime != ''">
    AND c.user_check_time BETWEEN #{beginTime} AND #{endTime}
  </if>
  </select>

其他

  <select id="countsByUserId" parameterType="Integer[]" resultType="java.lang.Integer" >
        SELECT count(DISTINCT userid,mobile,name,unionid) 
        FROM s_sys_user
        <where>
        dept_id
          <foreach collection="array" item="deptId" open="in(" close=")" separator=",">
          #{deptId}
          </foreach>
      AND name 
      NOT IN
        ("天干物燥")
      </where> 
  </select>

下面这个未测试 ,是别人写的(NOT IN)

image.png


目录
相关文章
|
7月前
|
XML SQL Java
Mybatis 传参方式
多个参数,那也就是使用注解@Param取名字解决即可。
40 1
|
7月前
|
XML Java 数据库连接
mybatis传参为map的写法
mybatis传参为map的写法
|
7月前
|
SQL XML Java
记一次在mybatis中使用String字符串作为sql语句 in关键字 后面参数的事故
记一次在mybatis中使用String字符串作为sql语句 in关键字 后面参数的事故
229 0
|
SQL 关系型数据库 MySQL
mybatis学习(21):MySQL 字符串 转换 CAST与CONVERT 函数的用法
mybatis学习(21):MySQL 字符串 转换 CAST与CONVERT 函数的用法
1044 0
|
SQL XML Java
Mybatis传参类型如何确定?
最近有小伙伴在讨论#{}与${}的区别时,有提到#{}是用字符串进行替换,就我个人的理解,它的主要作用是占位,最终替换的结果并不一定是字符串方式,比如我们传参类型是整形时,最终拼接的sql,传参讲道理也应该是整形,而不是字符串的方式 接下来我们来看一下,mapper接口中不同的参数类型,最终拼接sql中是如何进行替换的
498 0
Mybatis传参类型如何确定?
|
SQL Java 数据库连接
对于mybatis if标签对 byte int 等非字符串和字符串判断的问题
对于mybatis if标签对 byte int 等非字符串和字符串判断的问题
|
XML Java 数据库连接
mybatis接口方法参数传参解读
mybatis接口方法参数传参解读
|
SQL Java 数据库连接
五、MyBatis获取参数值的两种方式以及传参情况
${}的本质就是字符串拼接,#{}的本质就是占位符赋值。
282 0
五、MyBatis获取参数值的两种方式以及传参情况
|
XML SQL Java
Mybatis的几种传参方式,你了解多少?
Mybatis的几种传参方式,你了解多少?
|
Java 数据库连接 mybatis
mybatis if标签字符串判断
mybatis if标签字符串判断
374 0