MyBatis的传入参数parameterType类型
1. MyBatis的传入参数parameterType类型分两种
1. 1. 基本数据类型:int,string,long,Date;
1. 2. 复杂数据类型:类和Map
2. 如何获取参数中的值:
2.1 基本数据类型:#{参数} 获取参数中的值
2.2 复杂数据类型:#{属性名} ,map中则是#{key}
3.案例:
3.1 基本数据类型案例
- <sql id="Base_Column_List" >
- id, car_dept_name, car_maker_name, icon,car_maker_py,hot_type
- </sql>
- <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
- select
- <include refid="Base_Column_List" />
- from common_car_make
- where id = #{id,jdbcType=BIGINT}
- </select>
3.2 复杂类型--map类型
- <select id="queryCarMakerList" resultMap="BaseResultMap" parameterType="java.util.Map">
- select
- <include refid="Base_Column_List" />
- from common_car_make cm
- where 1=1
- <if test="id != null">
- and cm.id = #{id,jdbcType=DECIMAL}
- </if>
- <if test="carDeptName != null">
- and cm.car_dept_name = #{carDeptName,jdbcType=VARCHAR}
- </if>
- <if test="carMakerName != null">
- and cm.car_maker_name = #{carMakerName,jdbcType=VARCHAR}
- </if>
- <if test="hotType != null" >
- and cm.hot_type = #{hotType,jdbcType=BIGINT}
- </if>
- ORDER BY cm.id
- </select>
3.3 复杂类型--类类型
- <update id="updateByPrimaryKeySelective" parameterType="com.epeit.api.model.CommonCarMake" >
- update common_car_make
- <set >
- <if test="carDeptName != null" >
- car_dept_name = #{carDeptName,jdbcType=VARCHAR},
- </if>
- <if test="carMakerName != null" >
- car_maker_name = #{carMakerName,jdbcType=VARCHAR},
- </if>
- <if test="icon != null" >
- icon = #{icon,jdbcType=VARCHAR},
- </if>
- <if test="carMakerPy != null" >
- car_maker_py = #{carMakerPy,jdbcType=VARCHAR},
- </if>
- <if test="hotType != null" >
- hot_type = #{hotType,jdbcType=BIGINT},
- </if>
- </set>
- where id = #{id,jdbcType=BIGINT}
- </update>
3.4 复杂类型--map中包含数组的情况
- <select id="selectProOrderByOrderId" resultType="com.epeit.api.model.ProOrder" parameterType="java.util.HashMap" >
- select sum(pro_order_num) proOrderNum,product_id productId,promotion_id promotionId
- from pro_order
- where 1=1
- <if test="orderIds != null">
- and
- <foreach collection="orderIds" item="item" open="order_id IN(" separator="," close=")">
- #{item,jdbcType=BIGINT}
- </foreach>
- </if>
- GROUP BY product_id,promotion_id
- </select>
4.注意点:
记住这些
原文转载来自 http://blog.csdn.net/u010235716/article/details/51698422
MyBatis的传入参数parameterType类型的更多相关文章
- MyBatis中传入参数parameterType类型详解
前言 Mybatis的Mapper文件中的select.insert.update.delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型.本文主要给大家 ...
- MyBatis之传入参数parameterType
在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和Ja ...
- MyBatis之传入参数——parameterType(转)
鸣谢:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764 ------------------------------------ ...
- 12: MyBatis之传入参数parameterType
源链接地址:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764
- Mybatis----传入参数parameterType类型详解
Mybatis----传入参数parameterType类型详解 前言 Mybatis的Mapper文件中的select.insert.update.delete元素中有一个parameterType ...
- MyBatis之传入参数
在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和Ja ...
- 【转载】MyBatis之传入参数
原文地址:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764 在MyBatis的select.insert.update.dele ...
- (转载)mybatis中传入参数是list或map
原文地址:http://blog.csdn.net/aya19880214/article/details/41961235 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集 ...
- Mybatis:传入参数方式以及#{}与${}的区别
一.在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和 ...
随机推荐
- P5241 序列(滚动数组+前缀和优化dp)
P5241 序列 挺神仙的一题 看看除了dp好像没什么其他办法了 想着怎么构个具体的图出来,然鹅不太现实. 于是我们想办法用几个参数来表示dp数组 加了几条边肯定要的吧,于是加个参数$i$表示已加了$ ...
- Python3 根据m3u8下载视频,批量下载ts文件并且合并
Python3 根据m3u8下载视频,批量下载ts文件并且合并 m3u8是苹果公司推出一种视频播放标准,是一种文件检索格式,将视频切割成一小段一小段的ts格式的视频文件,然后存在服务器中(现在为了减少 ...
- Linux一些基本配置
Linux发行版:centos 6.5 配置yum源 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -P /etc/yum.repos ...
- windows下常用linux对应工具
tail 可从http://files.cnblogs.com/hantianwei/tail.zip下载,解压后exe,如下: e:\>tail -fn 300 tool-slow.logus ...
- 2018-2019-1 20189206 《Linux内核原理与分析》第五周作业
linux内核分析学习笔记 --第四章 系统调用的三层机制 学习重点--系统调用 用户态.内核态和中断 Intel x86 CPU有四种不同的执行级别,分别是0,1,2,3其中数字越小,特权越高. L ...
- JS实现页面字体繁简转换
封装的JS代码 // 网页简繁体转换 // 本js用于客户在网站页面选择繁体中文或简体中文显示,默认是正常显示,即简繁体同时显示 // 在用户第一次访问网页时,会自动检测客户端语言进行操作并提示.此功 ...
- 2018年11月16日 我和SB交流有代沟-继续字符串4
test="abcdeffedcba" v=test.lstrip("bcabc")#寻找的是最多匹配然后移除指定字符串 print("1.lstri ...
- 数据库 --- 4 多表查询 ,Navicat工具 , pymysql模块
一.多表查询 1.笛卡儿积 查询 2.连接 语法: ①inner 显示可构成连接的数据 mysql> select employee.id,employee.name,department ...
- uniGUI试用笔记(五)
uniGUI的主窗体可以采用多页面方式进行管理,参考网上的资料,都是用TUniFrame + TUniPageControl 来实现,尝试了一下,效果还不错,如下图: 用TUniFrame 能够使用继 ...
- git克隆源码时提示fatal: HTTP request failed怎么办?
答: 升级git版本即可 centos下升级git的方法在此