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有基本数据类型和 ...
随机推荐
- Java线程同步与锁
一.synchronized synchronized锁什么?锁对象.可能锁对象包括: this, 临界资源对象,Class类对象. 1,同步方法 synchronized T methodName( ...
- ICM Technex 2018 and Codeforces Round #463 (Div. 1 + Div. 2, combined) A
2018-02-19 A. Palindromic Supersequence time limit per test 2 seconds memory limit per test 256 mega ...
- ODAC(V9.5.15) 学习笔记(十四)TCRBatchMove
名称 类型 说明 AbortOnKeyViol Boolean 在处理数据时,如果发生主键冲突或主键校验失败时,是否中断 AbortOnProblem Boolean 发生问题时是否中断 Change ...
- error和exception有什么区别?
Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题.比如:内存资源不足等.对于这种错误,程序基本无能为力,除了退出运行外别无选择,它是由Java虚拟机抛 ...
- hihoCoder week1 最长回文子串
题目链接 https://hihocoder.com/contest/hiho1/problem/1 做法 Manacher #include <bits/stdc++.h> using ...
- LuoguP3948 数据结构
题目地址 题目链接 题解 以为这题虽然是数据随机也不至于那么水吧... 于是秉着先打部分分和暴力的原则先写了暴力和min,max为-inf和inf的特殊点,对于暴力搞了个小优化,延后的操作直接前缀和答 ...
- P3810 【模板】三维偏序(陌上花开)(cdq分治)
思路 看到这种偏序类的题目,而且不要求强制在线,可以立刻想到cdq分治 注意这题有一个问题,就是询问的是小于等于而不是小于,如果相等的话两个元素会相互贡献,而cdq的特点是右区间不能对左边有影响,所以 ...
- [CodeForces - 276A] Lunch Rush
题目链接:http://codeforces.com/problemset/problem/276/A 从这n个输入中求最大值,注意 和 k的比较,定义一个maxn,对每个输入进行计算即可. AC代码 ...
- Apple ID双重认证验证码无法输入问题
问题:用Apple ID登录老版本ios系统时,会提示“”需要提供Apple ID验证码才能登陆.请键入您的密码,并随后键入显示在您其他设备上的验证码”. 解决:老版本系统无输入验证码的地方,那就把验 ...
- 【Hadoop 分布式部署 五:分布式部署之分发、基本测试及监控】
1.对 hadoop 进行格式化 到 /opt/app/hadoop-2.5.0 目录下 执行命令: bin/hdfs namenode -format 执行的效果图如下 ( 下图成功 ...