使用mybatis是多值传递问题

一、 分析

  1. 在mybatis使用时 , 默认只允许在映射接口的方法中传递一个值 , 这时在映射文件的sql语句中可以用任意的名字取值

        实体User中 有name和age属性UserMapper.java映射接口中public void select(String aaa);UserMapper.xml映射文件中<select>select * from user user where #{xxx}</select>
    

二, 三种多值传递情况解决

  1. 传递实体类中的多个数据

    1. 如果需要传递的多个值都是同一实体中的属性 , 则可以把这些数据封装在实体中再传递

      实体User中 有name和age属性
      UserMapper.java映射接口中
      public void insert(User user);
      UserMapper.xml映射文件中
      <insert id="insert">insert into user valuse(#{name} , #{age})
      </insert>
      
  2. 传递多个毫无关系的数据

    1. 当需要传递多个毫无关系的数据时, 可以使用map将数据进行封装
    2. 实际上mabytis传递数据时不管是多值还是单值 , 都是传递的一个map , 以键值对的形式存取值
  3. 直接传递多个值

    1. 如果需要传递的多个数据不属于一个实体 , 又觉得用map封装国语繁琐时, 可以使用参数的注解, 使用参数的注解之后, mybatis会自动将参数列表中的参数封装在map中

      UserMapper.java映射接口中
      public void insert(@param("name")String name , @Pparam("age")String age);
      UserMapper.xml映射文件中
      <insert id="insert">insert into user valuse(#{name} , #{age})</insert>
      

大数据WEB阶段 使用mybatis是多值传递问题相关推荐

  1. 大数据WEB阶段 TransientDateAccessResourceException

    大数据WEB阶段 TransientDateAccessResourceException 一 . 分析 如果数据库保存的字段有时间 , 但是没有给该字段赋值时 ,则该字段默认是0000-00-00 ...

  2. 大数据WEB阶段Mybatis(一)

    Mybatis(一) 零.目录 Mybatis介绍 Mybatis入门案例 增删改查练习 映射文件中取值问题 Mybatis中单值传递和多值传递问题 sql语句的复用 别名标签 动态更新 动态查询 动 ...

  3. 大数据WEB阶段总结

    一.概述 HTTP协议 web容器 - Tomcat 静态web资源 - 本质上是文件 html css js 图片 音频 视频 flash- 动态web资源 - 本质上是程序 Servelt JSP ...

  4. 大数据WEB阶段(九)Servlet+Request

    Servlet与Request 一.概述 Servlet 是sun公司提供的一门用于开发动态web资源的技术 按照这套规范写出来的servlet可以放置在web应用中在servlet容器中运行 . 开 ...

  5. 大数据WEB阶段 (六)MySql详解(一)

    MySql(二) 一.概述 什么是数据库 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,简而言之就是存储数据的仓库. 数据库的分类 层次式数据库.网络式数据库.关系型数据库 数 ...

  6. 大数据WEB阶段Mybatis(二)

    Mybatis(二) 零.目录 Mybatis接口形式 Mybatis整合Spring Mybatis的缓存机制 手动封装结果集 一对一表操作 一对多表操作 多对多表操作 SpringMVC . Sp ...

  7. 大数据WEB阶段Maven安装配置与使用

    Maven 零.目录 Maven简介 Maven 的安装与配置 创建Maven工程 创建maven-web工程 搭建私服 使用本地资源库 阿里私服 maven命令 上传本地工程到私服中 maven-w ...

  8. 大数据WEB阶段 Maven与SSM框架整合

    Maven整合SSM框架 零. 目录 Maven整合SSM 常见的问题 以及一些优化 一. Maven整合SSM 创建webapp工程 修改jdk和编译器 配置pom.xml文件 并在pom.xml文 ...

  9. 大数据WEB阶段(十三)JSP(二)JSP标签、EL表达式、JSTL

    JSP标签.EL表达式.JSTL (一)JSP标签技术 一.JSP标签技术概述 jsp本质上是一种动态web资源开发技术 , 看起来像是html , 但其中可以写java代码 , 非常方便用来开发动态 ...

最新文章

  1. windows下Pycharm中安装Pygame
  2. 【译】Tutorials ---- Hello, World
  3. javafx css_JavaFX技巧13:研究Modena CSS文件
  4. vb.net mysql存储图片_怎么让VB.NET 上传图片到SQL 数据库只保存路径,图片保存到文件...
  5. ActiveMQ 发送和接收消息
  6. 只有八维数字,才能还原宇宙的本质?
  7. Xamarin和Java开发安卓_将原生移动开发与Xamarin相结合
  8. Android开发教程 - 使用Data Binding Android Studio不能正常生成相关类/方法的解决办法...
  9. Kubernetes 小白学习笔记(32)--kubernetes云原生应用开发-sidecar注入和istio服务治理演示
  10. 搜索神器Everything的功能技巧(非NTFS文件搜索,FTP/HTTP服务)
  11. java se官网_Java下载|Java SE Development Kit官方下载-太平洋下载中心
  12. [JS]回调函数例子
  13. 【Linux开发板学习教程】全免费超全面超详细
  14. debian/ubuntu 64bit 安装 android sdk时adb无法编译的问题
  15. Nexus私服安装以及使用教程
  16. 使用电脑修改apk图标和名字
  17. ozip解密_ozip解包工具下载oppo刷机包ozip解包一加ops解包
  18. 知乎高赞回答:为什么高级程序员不必担心自己的技术过时?
  19. 每天学一点英文:Espresso 20210813
  20. 51NOD - 1305 Pairwise Sum and Divide(思维)

热门文章

  1. ArcGIS 10.0 ArcGIS 9.3.1数据生成实验--个人地理数据库
  2. 201521123011 《Java程序设计》第8周学习总结
  3. 彻底弄懂jQuery事件原理一
  4. (转)生产者/消费者问题的多种Java实现方式 (待整理)
  5. Android官方文章翻译之管理设备苏醒状态(Managing Device Awake State)(二)
  6. 微信公众号页面支付接口java,[Java教程]微信公众号支付(三):页面调用微信支付JS并完成支付...
  7. mysql打包成docker_web应用如何打包成docker镜像?
  8. V8 Promise源码全面解读
  9. 数字调相用计算机实现的步骤,第2章数据通信习题
  10. php内容管理系统开源源码,fcontex 开源内容管理系统 php版 v1.0.3