mybatis sql in not in的使用

xml配置

<select id="SelectAllByNotsampleNo" resultMap="BaseResultMap" parameterType="java.lang.String">
     SELECT * FROM wshop_report1 a
     left join wshop_report_sms b on a.sampleno=b.sampleno
     where a.sampleno not in
     <foreach item="item" index="index" collection="list"
                         open="(" separator="," close=")">
                        #{item}
                </foreach>
  </select>

service层

@Override
    public List<WshopReport1> SelectAllByNotsampleNo(List<String> sampleno) {

        return reportdao.SelectAllByNotsampleNo(sampleno);
    }

list对应List    array对应数组

时间: 2024-11-09 05:02:28

mybatis sql in not in的使用的相关文章

mybatis 参数为list时,校验list是否为空, mybatis ${}与#{}的区别,Mybatis sql in

1.mybatis 参数为list时,校验list是否为空 2. mybatis ${}与#{}的区别 简单来说#{} 解析的是占位符?可以防止SQL注入, 比如打印出来的语句 select * from table where id=? 然而${} 则是不能防止SQL注入打印出来的语句 select * from table where id=2 实实在在的参数. 最简单的区别就是${}解析穿过来的参数值不带单引号,#{}解析传过来参数带单引号. 最后总结一下必须使用$引用参数的情况,那就是参

spring mvc 配置 mybatis sql拦截器

直接上代码: mybatis配置中 添加  <property name="plugins"> 如下: <bean id="sqlSessionFactory" class="com.hotent.core.mybatis.SqlSessionFactoryFactoryBean"> <property name="configLocation" value="classpath:/co

Activiti 5.17 --从Activiti的业务对象到MyBatis SQL Mapping ID的映射规则

Activiti 的业务实体层使用 PersistentObject 向数据层传递数据: MyBatis 使用Mapping中的 id 执行SQL 逻辑: 本文讲述了从Activiti PersistentObject 到 MyBatis SQL id 的映射规则. 一.数据层和数据的关系 二.PersistentObject 对象 三.MyBatis 对应的SQL ID 1.insert <insert id="insertProcessDefinition" paramete

mybatis sql注入安全

1.mybatis语句 SELECT * FROM console_operator WHERE login_name=#{loginName} AND login_pwd=#{loginPwd} 2.日志打印信息正确情况:username:admin, password:admin 2014-07-30 10:39:10,646 DEBUG [http-bio-8080-exec-9] com.autoyolConsole.mapper.OperatorMapper.login.BaseJdb

mybatis sql语句中 like in() 长度为0或null的情况

mybatis sql语句中 like in() 长度为0或null的情况 比如: select * from A where colName LIKE IN <foreach collection="moCodeList" item="item" index="index" open="(" close=")" separator=","> #{item} </for

springmvc+mybatis+sql server实现简单登录功能【转】

一.源码: 1.Users.java package com.login.entity;import java.io.Serializable;public class Users implements Serializable {  /**    *     */  private static final long serialVersionUID = 1L;  private Integer id;  private String username;  private String pas

mybatis sql语句配置

1.mybatis判断是否为空或null <if test="type!=null and type!=''"> AND type = #{type} </if> 2.Mybatis中的like查询 今天要做一个模糊查询 用的Mybatis 开始写的是: select id,bookName,author,publisher,donor,status,createDate,lastUpdate from book <where> <if tes

MyBatis -- sql映射文件详解

MyBatis 真正的力量是在映射语句中.和对等功能的jdbc来比价,映射文件节省很多的代码量.MyBatis的构建就是聚焦于sql的. sql映射文件有如下几个顶级元素:(按顺序) cache配置给定命名空间的缓存. cache-ref从其他命名空间引用缓存配置. resultMap最复杂,也是最有力量的元素,用来描述如何从数据库结果集中来加载你的对象. parameterMap已经被废弃了!老式风格的参数映射.内联参数是首选,这个元素可能在将来被移除. sql可以重用的SQL块,也可以被其他

Mybatis——SQL语句构建器类

SQL语句构建器类 问题 Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句.这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中.正如你已经看到的那样,MyBatis在它的XML映射特性中有一个强大的动态SQL生成方案.但有时在Java代码内部创建SQL语句也是必要的.此时,MyBatis有另外一个特性可以帮到你,在减少典型的加号,引号,新行,格式化问题和嵌入条件来处理多余的逗号或 AND 连接词之前.事实上,在Java代码中来动态生成SQL

日志框架只打印出Mybatis SQL的配置

项目比较大,各种乱七八糟的框架.Log4j配置的是INFO级别. 然而今天开发的时候我需要log4j打印出SQL的执行情况. 先改log4j的rootLogger级别到DEBUG......后果就是各种日志乱飞. log4j.rootLogger=DEBUG, stdout log4j.logger.org.apache=ERROR #log4j.logger.org.hibernate=ERROR #没用到,屏蔽 log4j.logger.org.springframework=ERROR l