Mybatis传递参数的三种方式
第一种:
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传递参数的三种方式的更多相关文章
- @Param注解在Mybatis中的使用 以及传递参数的三种方式
第一种: Dao层的方法 public User selectUser(String name,String password); 对应的Mapper.xml <select id=" ...
- spring mvc从前台往后台传递参数的三种方式
jsp页面: 第一种:使用控制器方法形参的方式(常用) 第二种:使用模型传参的方式(如果前台往后台传递的参数非常多,如果还使用形参的方式传递,非常复杂.我们可以使用模型传参的方式,把多 个请求的参数 ...
- Mybatis传递参数的几种方式
使用Map传递 优点:直接在sql中取出key即可 缺点:适用于小项目,不符合大公司规范 对象传递参数 优点:符合标准规范 缺点:麻烦 3.只有一个基本类型参数的情况下,直接在sql中取中 4.多个参 ...
- mybatis 传递参数的两种方式与模糊匹配 很重要
- Delphi过程函数传递参数的几种方式
Delphi过程函数传递参数的几种方式 在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out. 另一种不加修饰符的为默认按值传递参数. 一.默认方式以值方式传递参数 proced ...
- 【delphi】Delphi过程、函数传递参数的八种方式
Delphi过程函数传递参数的八种方式
- asp传递参数的几种方式
把下列代码分别加入a.asp和b.asp的<body></body>中,点提交,就可以将a.asp文本框的内容传给b.asp并显示出来 a.ASP <form actio ...
- 命令行运行Python脚本时传入参数的三种方式
原文链接:命令行运行Python脚本时传入参数的三种方式(原文的几处错误在此已纠正) 如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式. pyth ...
- ssh框架总结之action接收参数的三种方式
页面将参数传递给action的三种方式 一是通过属性传值: 将页面和action的的属性值保持一致,在action上写上该属性的set和get方法,这样在页面提交参数的时候,action就会调用set ...
随机推荐
- virtualbox+vagrant学习-5-Boxes-1-简介
Boxes boxes是vagrant环境的包格式.在vagrant支持的任何平台上,任何人都可以使用一个box来创建一个相同的工作环境.vagrant box实用程序提供了管理boxes的所有功能. ...
- nginx下配置多个web服务
参考 nginx配置详解 nginx反向代理与负载均衡详解 一.nginx简介: Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能 ...
- PHP导出excel表格
<?php header('Content-Type: application/force-download'); header("Content-type: text/html; c ...
- e2fsprogs
开源文件系统ext2/ext3/ext4管理工具e2progs包含的工具组件: 1.debugfs: ext2/ext3/ext4文件系统调试工具.debugfs是一个交互式的文件系统调试工具,可以用 ...
- 【腾讯敏捷转型No.6】如何打造称手的敏捷工具
通常情况下,大家对于敏捷的感受就是:大家一起来开站立晨会啦!然后一大早,大家拿着早餐,围成一个圈,听一个人在讲话. 在很多公司,决定采用敏捷之后,都会从晨会开始,因为很多人觉得敏捷其它模块都很难学习, ...
- ABP在领域事件中异步调用方法抛异常
在领域事件中调用UserRegistrationManager.RegisterAsync抛异常 Call UserRegistrationManager.RegisterAsync() throw ...
- duplicate symbol _OBJC_IVAR
duplicate symbol _OBJC_IVAR - Kingdev - 博客园 代码合并问题 git合并提示冲突文件为project.pbxproj,先去掉所有冲突提示<<< ...
- BZOJ1969: [Ahoi2005]LANE 航线规划(LCT)
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 587 Solved: 259[Submit][Status][Discuss] Description ...
- Delphi XE5的Android开发平台搭建
Delphi XE5支持Android ARM的开发,可以在Android虚拟机里运行,因此建议将XE5安装在64bit的Windows,内存可以大于3GB Delphi XE5安装光盘中包含了最基本 ...
- BigData:值得了解的十大数据发展趋势
当今,世界无时无刻不在发生着变化.对于技术领域而言,普遍存在的一个巨大变化就是为大数据(Big data)打开了大门,并应用大数据技相关技术来改善各行业的业务并促进经济的发展.目前,大数据的作用已经上 ...