第一种:

Dao层使用@Param注解的方法

VersionBox getVersionByVersionNumAndVersionType(@Param("versionNum") String versionNum, @Param("versionType") String versionType);

对应的Mapper.xml

 <sql id="Base_Column_List" >
UUID, VERSION_NUM, VERSION_TYPE, VARSION_DESC, CREATE_TIME, CREATE_BY, UPDATE_TIME,
UPDATE_BY
</sql> <select id="getVersionByVersionNumAndVersionType" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from VERSION_BOX
where VERSION_NUM = #{versionNum,jdbcType=VARCHAR}
and VERSION_TYPE = #{versionType,jdbcType=VARCHAR}
</select>

第二种:

Dao层采用Map传多参数的方法

int selectBeaconTotalCount(Map paramMap);
 

对应的Mapper.xml

<resultMap id="BaseResultMap" type="com.joysuch.facade.device.Ibeacon" >
<id column="UUID" property="uuid" jdbcType="VARCHAR" />
<result column="USER_ID" property="userId" jdbcType="VARCHAR" />
<result column="DEVICE_MAC" property="deviceMac" jdbcType="VARCHAR" />
<result column="DEVICE_ID" property="deviceId" jdbcType="VARCHAR" />
<result column="DEVICE_UUID" property="deviceUuid" jdbcType="VARCHAR" />
<result column="DEVICE_TYPE" property="deviceType" jdbcType="VARCHAR" />
<result column="MAJOR" property="major" jdbcType="INTEGER" />
<result column="MINOR" property="minor" jdbcType="INTEGER" />
...

<result column="NEAR_RSSI" property="nearRssi" jdbcType="INTEGER" />
</resultMap>

 <select id="selectBeaconTotalCount" resultType="int" parameterType="java.util.Map" >
select COUNT(UUID)
from IBEACON
where BUILDING_ID = #{buildingId,jdbcType=VARCHAR} and DEVICE_TYPE = 'ibeacon'
<if test="deviceMac != null and deviceMac != ''" >
and DEVICE_MAC = #{deviceMac,jdbcType=VARCHAR}
</if>
<if test="major != null" >
and MAJOR = #{major,jdbcType=INTEGER}
</if>
<if test="minor != null" >
and MINOR = #{minor,jdbcType=INTEGER}
</if>
</select>

第三种:

Dao层根据参数位置下标的方法

VersionBox getVersionByVersionNumAndVersionType(String versionNum, String versionType);

  

对应的Mapper.xml

 <select id="getVersionByVersionNumAndVersionType" resultMap="BaseResultMap" >
select
<include refid="Base_Column_List" />
from VERSION_BOX
where VERSION_NUM = #{0} 
and VERSION_TYPE = #{1} 
</select>

Mybatis传递参数的三种方式的更多相关文章

  1. @Param注解在Mybatis中的使用 以及传递参数的三种方式

    第一种: Dao层的方法 public User selectUser(String name,String password); 对应的Mapper.xml <select id=" ...

  2. spring mvc从前台往后台传递参数的三种方式

     jsp页面: 第一种:使用控制器方法形参的方式(常用) 第二种:使用模型传参的方式(如果前台往后台传递的参数非常多,如果还使用形参的方式传递,非常复杂.我们可以使用模型传参的方式,把多 个请求的参数 ...

  3. Mybatis传递参数的几种方式

    使用Map传递 优点:直接在sql中取出key即可 缺点:适用于小项目,不符合大公司规范 对象传递参数 优点:符合标准规范 缺点:麻烦 3.只有一个基本类型参数的情况下,直接在sql中取中 4.多个参 ...

  4. mybatis 传递参数的两种方式与模糊匹配 很重要

  5. Delphi过程函数传递参数的几种方式

    Delphi过程函数传递参数的几种方式  在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out. 另一种不加修饰符的为默认按值传递参数. 一.默认方式以值方式传递参数 proced ...

  6. 【delphi】Delphi过程、函数传递参数的八种方式

    Delphi过程函数传递参数的八种方式

  7. asp传递参数的几种方式

    把下列代码分别加入a.asp和b.asp的<body></body>中,点提交,就可以将a.asp文本框的内容传给b.asp并显示出来 a.ASP <form actio ...

  8. 命令行运行Python脚本时传入参数的三种方式

    原文链接:命令行运行Python脚本时传入参数的三种方式(原文的几处错误在此已纠正) 如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式. pyth ...

  9. ssh框架总结之action接收参数的三种方式

    页面将参数传递给action的三种方式 一是通过属性传值: 将页面和action的的属性值保持一致,在action上写上该属性的set和get方法,这样在页面提交参数的时候,action就会调用set ...

随机推荐

  1. Django中模型(五)

    Django中模型(五) 六.模型查询 1.概述 查询集,表示从数据库获取的对象集合. 过滤器就是一个函数,基于所给的参数限制查询集结果.查询集可以有多个过滤器. 从sql角度来说,查询集合等价于se ...

  2. Kali-linux破解LM Hashes密码

    LM(LAN Manager)Hash是Windows操作系统最早使用的密码哈希算法之一.在Windows 2000.XP.Vista和Windows 7中使用了更先进的NTLMv2之前,这是唯一可用 ...

  3. background-clip 实现字体渐变效果

    background-clip 实现字体渐变效果 (一)类似KTV字幕效果 @-webkit-keyframes loop{ 0%{background-position: -800px 0;} 10 ...

  4. centos6.4安装使用wine 持续更新中

    首先,从wine的官网下载页面http://www.winehq.org/download/可以了解到centos安装wine需要EPEL软件仓库.那么首先安装EPEL软件仓库,从http://mir ...

  5. gem install redis安装时报错:redis requires Ruby version >= 2.2.2

    Centos默认支持ruby到2.0.0,可gem 安装redis需要最低是2.2.2 解决办法是 先安装rvm,再把ruby版本提升至2.3.3 1.安装curl sudo yum install  ...

  6. 【Javascript-基础-getOwnPropertyNames】Object.getOwnPropertyNames() 获取对象自身可枚举属性

    可枚举属性和不可枚举属性 在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的.可枚举性决定了这个属性能否被for-in查找遍历到. 可枚举属性 e ...

  7. java的多线程和并发库

    一.多线程基础知识 1.传统使用类Thread和接口Runnable实现 1)在Thread子类覆盖的run方法中编写运行代码 2)在传递给Thread对象的Runnable对象的run方法中编写代码 ...

  8. Innodb和Mysiam引擎的区别

    一:区别 Mysiam: 1.是非事务安全型. 2.是表级锁. 3.如果执行大量的select,Mysiam是更好的选择. 4.select count(*)from table.Mysiam只简单的 ...

  9. C++11 initializer_list 和 Range-based for loop 学习理解

    win10 + vs2017 源码如下: int main() { vector< int > numbers = { 1, 2, 3, 4, 5 }; for (auto num : n ...

  10. 03.搭建Spark集群(CentOS7+Spark2.1.1+Hadoop2.8.0)

    接上一篇:https://www.cnblogs.com/yjm0330/p/10077076.html 一.下载安装scala 1.官网下载 2.spar01和02都建立/opt/scala目录,解 ...