1. MyBatis的传入参数parameterType类型分两种

1. 1. 基本数据类型:int,string,long,Date;

1. 2. 复杂数据类型:类和Map

2. 如何获取参数中的值:

2.1  基本数据类型:#{参数} 获取参数中的值

2.2  复杂数据类型:#{属性名}  ,map中则是#{key}

3.案例:

3.1 基本数据类型案例

  1. <sql id="Base_Column_List" >
  2. id, car_dept_name, car_maker_name, icon,car_maker_py,hot_type
  3. </sql>
  4. <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
  5. select
  6. <include refid="Base_Column_List" />
  7. from common_car_make
  8. where id = #{id,jdbcType=BIGINT}
  9. </select>

3.2 复杂类型--map类型

  1. <select id="queryCarMakerList" resultMap="BaseResultMap" parameterType="java.util.Map">
  2. select
  3. <include refid="Base_Column_List" />
  4. from common_car_make cm
  5. where 1=1
  6. <if test="id != null">
  7. and  cm.id = #{id,jdbcType=DECIMAL}
  8. </if>
  9. <if test="carDeptName != null">
  10. and  cm.car_dept_name = #{carDeptName,jdbcType=VARCHAR}
  11. </if>
  12. <if test="carMakerName != null">
  13. and  cm.car_maker_name = #{carMakerName,jdbcType=VARCHAR}
  14. </if>
  15. <if test="hotType != null" >
  16. and  cm.hot_type = #{hotType,jdbcType=BIGINT}
  17. </if>
  18. ORDER BY cm.id
  19. </select>

3.3 复杂类型--类类型

  1. <update id="updateByPrimaryKeySelective" parameterType="com.epeit.api.model.CommonCarMake" >
  2. update common_car_make
  3. <set >
  4. <if test="carDeptName != null" >
  5. car_dept_name = #{carDeptName,jdbcType=VARCHAR},
  6. </if>
  7. <if test="carMakerName != null" >
  8. car_maker_name = #{carMakerName,jdbcType=VARCHAR},
  9. </if>
  10. <if test="icon != null" >
  11. icon = #{icon,jdbcType=VARCHAR},
  12. </if>
  13. <if test="carMakerPy != null" >
  14. car_maker_py = #{carMakerPy,jdbcType=VARCHAR},
  15. </if>
  16. <if test="hotType != null" >
  17. hot_type = #{hotType,jdbcType=BIGINT},
  18. </if>
  19. </set>
  20. where id = #{id,jdbcType=BIGINT}
  21. </update>

3.4 复杂类型--map中包含数组的情况

  1. <select id="selectProOrderByOrderId" resultType="com.epeit.api.model.ProOrder" parameterType="java.util.HashMap" >
  2. select sum(pro_order_num) proOrderNum,product_id productId,promotion_id promotionId
  3. from pro_order
  4. where 1=1
  5. <if test="orderIds != null">
  6. and
  7. <foreach collection="orderIds" item="item" open="order_id IN(" separator="," close=")">
  8. #{item,jdbcType=BIGINT}
  9. </foreach>
  10. </if>
  11. GROUP BY product_id,promotion_id
  12. </select>

4.注意点:

记住这些

原文转载来自 http://blog.csdn.net/u010235716/article/details/51698422

MyBatis的传入参数parameterType类型的更多相关文章

  1. MyBatis中传入参数parameterType类型详解

    前言 Mybatis的Mapper文件中的select.insert.update.delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型.本文主要给大家 ...

  2. MyBatis之传入参数parameterType

    在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和Ja ...

  3. MyBatis之传入参数——parameterType(转)

    鸣谢:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764 ------------------------------------ ...

  4. 12: MyBatis之传入参数parameterType

    源链接地址:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764

  5. Mybatis----传入参数parameterType类型详解

    Mybatis----传入参数parameterType类型详解 前言 Mybatis的Mapper文件中的select.insert.update.delete元素中有一个parameterType ...

  6. MyBatis之传入参数

    在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和Ja ...

  7. 【转载】MyBatis之传入参数

    原文地址:http://blog.csdn.net/liaoxiaohua1981/article/details/6862764 在MyBatis的select.insert.update.dele ...

  8. (转载)mybatis中传入参数是list或map

    原文地址:http://blog.csdn.net/aya19880214/article/details/41961235 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集 ...

  9. Mybatis:传入参数方式以及#{}与${}的区别

    一.在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和 ...

随机推荐

  1. ORA-00600: internal error code, arguments: [13030], [20]一例解决

    两年没有接触oracle了,中午,一环境update from的时候出现ORA-00600: internal error code, arguments: [13030], [20]异常,经查,官网 ...

  2. UI自动化(二)css选择器

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. 20145208 蔡野 《网络对抗》Exp8 Web基础

    20145208 蔡野 <网络对抗>Exp8 Web基础 本实践的具体要求有: (1).Web前端HTML(1分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POS ...

  4. tftp 传输文件

    tftp 服务方便文件传输,但是没有理清的话,容易传输错误. -g 表示下载文件 (get) -p 表示上传文件 (put)-l 表示本地文件名 (local file) -r 表示远程主机的文件名 ...

  5. dubbo接口FindMemberInfoTest思路整合

    package com.yzb.user_center; /** * @Created by IntelliJ IDEA. * @Author tk * @Date 2018/7/31 * @Time ...

  6. freeswitch刷新网关方法汇总

    1.freeswitch xml配置文件新增网关后,使其生效,可以重启freeswitch或者使用命令方式 fs_cli -H 127.0.0.1 -P 8021 -p hmzj -x sofia p ...

  7. 什么是TF-A?

    1. TF-A的全称是什么? Arm Trusted Firmware 2. TF-A的作用是什么? 在secure world和non-secure world之间切换 3. TF-A涉及到哪几个部 ...

  8. tp剩余未验证内容-3

    为什么有时候会 出现 "上传文件保存错误"? public function save($file, $replace=true){ /* 移动文件 */ if (!move_up ...

  9. PowerShell Gallery

    https://docs.microsoft.com/en-us/powershell/gallery/getting-started https://www.powershellgallery.co ...

  10. iis6-0 cve-2017-7269 批量验证脚本

    代码地址 import subprocess f = open('ips.txt', 'r') flines = f.readlines() vulnsrvs = 0 i = 1 for line i ...