MyBatis注解模式取参数方法
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注解模式取参数方法相关推荐
- MyBatis注解模式批量insert方法
2019独角兽企业重金招聘Python工程师标准>>> 方法一:script标签方式 @Insert("<script>insert into xxx (cha ...
- mybatis注解模式和混合模式
1.引入mybatis-starter 2.配置application.yaml中,指定mapper-location位置即可 #配置mybatis规则 mybatis: # config-locat ...
- mybatis注解开发动态sql
mybatis注解开发动态sql 本篇来讲一下如何使用mybatis注解模式中的动态sql 先来讲一下什么是动态sql 在我们实际开发的时候可能会出现很多方法需要一条很相似的sql语句来进行增删改查, ...
- Spring Boot 实战 —— MyBatis(注解版)使用方法
原文链接: Spring Boot 实战 -- MyBatis(注解版)使用方法 简介 MyBatis 官网 是这么介绍它自己的: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过 ...
- SpringBoot + MyBatis(注解版),常用的SQL方法
一.新建项目及配置 1.1 新建一个SpringBoot项目,并在pom.xml下加入以下代码 <dependency> <groupId>org.mybatis.spring ...
- mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
mybatis复习02,简单的增删改查 创建数据表 user_info 在项目中创建数据表对应的实体类 UserInfo.java 在pom.xml文件中引入依赖 创建核心配置文件mybatis-co ...
- 整合MyBatis操作 注解模式 混合模式
注解模式 先创建表 create TABLE city ( id int(11) primary key auto_increment, name VARCHAR(30), state VARCHAR ...
- [mybatis]映射文件_参数处理_#和$取值区别
#{}:可以获取map中的值或者pojo对象属性的值 ${}:可以获取map中的值或者pojo对象属性的值 区别: #{}:是以预编译的形式,将参数设置到sql语句中,相当于原生jdbc的Prepar ...
- MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法
MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法 参考文章: (1)MyBatis多个接口参数报错:Avai ...
最新文章
- AWS — AWS VPC 虚拟专用云
- mysql索引创建和使用注意事项
- 第一:Postman安装及使用(超详细)
- 云消防大数据_消防云大数据
- 八皇后问题(经典回溯算法)
- 【NLP】自然语言处理中词性、短语、短语关系标签的具体含义列表
- 微信小程序 人脸识别功能 代码 wx.faceDetect
- 设计模式之单例模式:饿汉模式(懒汉模式)及优缺点分析
- 关于驻波比(VSWR)的详细解析
- Mac中vim的快捷操作
- Eric,基于多搜索引擎的自动问答机器人
- EDP to LVDS转换设计电路|EDP to LVDS转接板电路|Capstone/CS5211芯片电路原理图参考
- Linux下载源码编译出错,编译小度wifi源码出错!
- 共享服务器与独立服务器的区别是什么?
- 操作系统------资源分配图化简
- Windows API一日一练 59 CreateFileMapping和MapViewOfFile函数
- Jupyter notebook显示k线图集合
- 利用环境监测设备做好这几点,菠菜出苗快、产量高
- (4)tiny4412移植uboot_2018_07
- 云原生及k8s组件简单介绍