zoukankan      html  css  js  c++  java
  • mybatis获取参数数值的两个方式

    ${ }: insert into emp values(null,admin,23,男)
    Statement:必须使用字符串拼接的方式操作sql,一定要注意单引号,例:'${}'

    #{}:insert into emp values(null,?,?,?)
    PreparedStatement:可以使用通配符操作sql,因为在为string赋值时,可以自动加单引号,因此不需要注意单引号

    建议:建议使用#{},在特殊情况下,需要使用${},例如模糊查询批量删除

    不同的参数类型,${}和#{}的不同取值方式:

    1、当传输参数为单个String或基本类型和其包装类

    #{}:可以以任意的名字获取参数
    ${}:只能以${value} 和 ${_parameter}获取
    

    2、当传输参数为Javabean时

    #{}和${}都可以通过属性名直接获取属性值,但是要注意${}的单引号问题
    

    3、当传输多个参数时,mybatis会默认将这些参数放在map集合中

    两种方式:

    (1)键为0,1,2,3...N-1,以参数为值

    (2)键为param1,param2,param3....paramN,以参数为值

    #{}:#{0},#{1};或#{param1},#{param2}
    ${}:${param1},${param2}; 但是要注意${}的单引号问题
    

    4、当传输Map参数时

    #{}和${}都可以通过键的名字直接获取,但是要注意${}的单引号问题
    

    5、命名参数

    可以通过@Param("key")为map集合指定键的名字

    Emp getEmpByEidAndEnameByParam(@Param("eid")String eid, @Param("ename")String ename);
    键是eid,值是eid....
    

    6、当传输参数为List或Array,mybatis会将List或Array放在map中,

    List以 'list' 为键,Array以 'array' 为键,除非自己重新命名键名

  • 相关阅读:
    mysql把查询结果集插入到表理
    js遍历json数据
    php事务回滚
    win10定时执行php脚本
    php输出json的内容
    图像的几个基本概念
    linux系统编程之I/O内核数据结构
    linux系统编程之错误处理
    深拷贝和浅拷贝
    mysql用户的创建
  • 原文地址:https://www.cnblogs.com/2328322824chx/p/13602003.html
Copyright © 2011-2022 走看看