2019独角兽企业重金招聘Python工程师标准>>>

@Select("select count(*) from (select id from patrol_host where hostName=#{hostName} ) tmp_count")
public int isAAA(String hostName);@Select("select count(*) from (select id from patrol_host where ip=#{ip} and id<>#{id}) tmp_count")
public int isBBB(String ip, Integer id);

第一种只有一个参数的时候可以直接使用#{hostName}取到参数

但是如果第二种有多个参数直接使用#{ip}是取不到的

个人理解:

由于当有多个参数的时候MyBatis会将所有参数放入一个map中,value是参数值,而Key默认是param1,param2...和0,1...因此直接使用#{ip}是取不到值的

取值方法:
一:使用数字key取值

@Select("select count(*) from (select id from patrol_host where ip=#{0} and id<>#{1}) tmp_count")
public int isIpExistForUpdate(String ip, Integer id);

二:使用param来取值,

@Select("select count(*) from (select id from patrol_host where ip=#{param1} and id<>#{param2}) tmp_count")
public int isIpExistForUpdate(String ip, Integer id);

以上两种方法都需要注意顺序.数字key是从0开始,param取值则是从param1开始

三:使用注解指定key值

@Select("select count(*) from (select id from patrol_host where ip=#{ip} and id<>#{id}) tmp_count")
public int isIpExistForUpdate(@Param("ip")String ip, @Param("id")Integer id);

这种方式是直接使用注解中设置的key值来取值

转载于:https://my.oschina.net/MrBamboo/blog/882119

MyBatis注解模式取参数方法相关推荐

  1. MyBatis注解模式批量insert方法

    2019独角兽企业重金招聘Python工程师标准>>> 方法一:script标签方式 @Insert("<script>insert into xxx (cha ...

  2. mybatis注解模式和混合模式

    1.引入mybatis-starter 2.配置application.yaml中,指定mapper-location位置即可 #配置mybatis规则 mybatis: # config-locat ...

  3. mybatis注解开发动态sql

    mybatis注解开发动态sql 本篇来讲一下如何使用mybatis注解模式中的动态sql 先来讲一下什么是动态sql 在我们实际开发的时候可能会出现很多方法需要一条很相似的sql语句来进行增删改查, ...

  4. Spring Boot 实战 —— MyBatis(注解版)使用方法

    原文链接: Spring Boot 实战 -- MyBatis(注解版)使用方法 简介 MyBatis 官网 是这么介绍它自己的: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过 ...

  5. SpringBoot + MyBatis(注解版),常用的SQL方法

    一.新建项目及配置 1.1 新建一个SpringBoot项目,并在pom.xml下加入以下代码 <dependency> <groupId>org.mybatis.spring ...

  6. mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数

    mybatis复习02,简单的增删改查 创建数据表 user_info 在项目中创建数据表对应的实体类 UserInfo.java 在pom.xml文件中引入依赖 创建核心配置文件mybatis-co ...

  7. 整合MyBatis操作 注解模式 混合模式

    注解模式 先创建表 create TABLE city ( id int(11) primary key auto_increment, name VARCHAR(30), state VARCHAR ...

  8. [mybatis]映射文件_参数处理_#和$取值区别

    #{}:可以获取map中的值或者pojo对象属性的值 ${}:可以获取map中的值或者pojo对象属性的值 区别: #{}:是以预编译的形式,将参数设置到sql语句中,相当于原生jdbc的Prepar ...

  9. MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法

    MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法 参考文章: (1)MyBatis多个接口参数报错:Avai ...

最新文章

  1. AWS — AWS VPC 虚拟专用云
  2. mysql索引创建和使用注意事项
  3. 第一:Postman安装及使用(超详细)
  4. 云消防大数据_消防云大数据
  5. 八皇后问题(经典回溯算法)
  6. 【NLP】自然语言处理中词性、短语、短语关系标签的具体含义列表
  7. 微信小程序 人脸识别功能 代码 wx.faceDetect
  8. 设计模式之单例模式:饿汉模式(懒汉模式)及优缺点分析
  9. 关于驻波比(VSWR)的详细解析
  10. Mac中vim的快捷操作
  11. Eric,基于多搜索引擎的自动问答机器人
  12. EDP to LVDS转换设计电路|EDP to LVDS转接板电路|Capstone/CS5211芯片电路原理图参考
  13. Linux下载源码编译出错,编译小度wifi源码出错!
  14. 共享服务器与独立服务器的区别是什么?
  15. 操作系统------资源分配图化简
  16. Windows API一日一练 59 CreateFileMapping和MapViewOfFile函数
  17. Jupyter notebook显示k线图集合
  18. 利用环境监测设备做好这几点,菠菜出苗快、产量高
  19. (4)tiny4412移植uboot_2018_07
  20. 云原生及k8s组件简单介绍

热门文章

  1. SQL数据库对象的建立
  2. java切面获取reqiest,怎么在webflux切面中获取请求头.
  3. tacacs java客户端_思科交换机 ACS4.0 Tacacs+ 登陆验证
  4. oracle的into的含义,请问在oracle 中select into是什么意思?
  5. eclipse new creation file type
  6. Citrix产品及技术解析
  7. scanf的拓展用法——匹配特定字符
  8. Mask R-CNN详解和安装
  9. IDEA 中 右键新建时,没有新建class的解决方案
  10. gulp与grunt对比