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有基本数据类型和 ...
随机推荐
- ORA-00600: internal error code, arguments: [13030], [20]一例解决
两年没有接触oracle了,中午,一环境update from的时候出现ORA-00600: internal error code, arguments: [13030], [20]异常,经查,官网 ...
- UI自动化(二)css选择器
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 20145208 蔡野 《网络对抗》Exp8 Web基础
20145208 蔡野 <网络对抗>Exp8 Web基础 本实践的具体要求有: (1).Web前端HTML(1分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POS ...
- tftp 传输文件
tftp 服务方便文件传输,但是没有理清的话,容易传输错误. -g 表示下载文件 (get) -p 表示上传文件 (put)-l 表示本地文件名 (local file) -r 表示远程主机的文件名 ...
- dubbo接口FindMemberInfoTest思路整合
package com.yzb.user_center; /** * @Created by IntelliJ IDEA. * @Author tk * @Date 2018/7/31 * @Time ...
- freeswitch刷新网关方法汇总
1.freeswitch xml配置文件新增网关后,使其生效,可以重启freeswitch或者使用命令方式 fs_cli -H 127.0.0.1 -P 8021 -p hmzj -x sofia p ...
- 什么是TF-A?
1. TF-A的全称是什么? Arm Trusted Firmware 2. TF-A的作用是什么? 在secure world和non-secure world之间切换 3. TF-A涉及到哪几个部 ...
- tp剩余未验证内容-3
为什么有时候会 出现 "上传文件保存错误"? public function save($file, $replace=true){ /* 移动文件 */ if (!move_up ...
- PowerShell Gallery
https://docs.microsoft.com/en-us/powershell/gallery/getting-started https://www.powershellgallery.co ...
- iis6-0 cve-2017-7269 批量验证脚本
代码地址 import subprocess f = open('ips.txt', 'r') flines = f.readlines() vulnsrvs = 0 i = 1 for line i ...