Mybatis(4) 映射文件-参数处理

参数处理:

单参数处理: mybatis 不会做任何特殊处理。

  • #{key} : key 可以写任何字段取出参数值。

测试方法:

mapper接口:

mapper.xml:

控制台:

多参数处理: mybatis会做特殊处理, 将多个参数封装成一个map。

  • #{key} 的 key 为 param1……paramN, 或者参数索引。
  • #{key} 的 value 为传入的参数的真实值。

 测试方法:

mapper接口:

mapper.xml:

 控制台:  绑定异常, id, name 参数没有找到

修改mapper.xml: 将params修改为索引

控制台:

修改mapper.xml: 将params修改为param1......paramN

控制台:

命名参数: 明确的指定mybatis将多个参数封装成一个map时key的值。

  • #{key}的key为使用@Param("key")注解指定key的值。
  • #{key}的value为传入参数真实的值。

修改mapper接口:

修改mapper.xml:

控制台:

注意: 多个参数时推荐使用命名参数

GitHub源码: mybatis-02

原文地址:https://www.cnblogs.com/goodcheap/p/8408886.html

时间: 2024-08-29 10:11:41

Mybatis(4) 映射文件-参数处理的相关文章

mybatis中映射文件和实体类的关联性

mybatis的映射文件写法多种多样,不同的写法和用法,在实际开发过程中所消耗的开发时间.维护时间有很大差别,今天我就把我认为比较简单的一种映射文件写法记录下来,供大家修改建议,争取找到一个最优写法~~: 以User对象和UserMap.xml为例讲解,代码如下: User为用户实体类(仅作为讲解,可以只关注引用类型变量,get/set方法省略): import com.google.common.collect.Lists; import com.gukeer.common.persisten

MyBatis -- sql映射文件详解

MyBatis 真正的力量是在映射语句中.和对等功能的jdbc来比价,映射文件节省很多的代码量.MyBatis的构建就是聚焦于sql的. sql映射文件有如下几个顶级元素:(按顺序) cache配置给定命名空间的缓存. cache-ref从其他命名空间引用缓存配置. resultMap最复杂,也是最有力量的元素,用来描述如何从数据库结果集中来加载你的对象. parameterMap已经被废弃了!老式风格的参数映射.内联参数是首选,这个元素可能在将来被移除. sql可以重用的SQL块,也可以被其他

MyBatis学习-映射文件标签篇

MyBatis 真正的核心在映射文件中.比直接使用 JDBC 节省95%的代码.而且将 SQL 语句独立在 Java 代码之外,可以进行更为细致的 SQL 优化. 一. 映射文件的顶级元素 resultMap:最复杂,最有力量的元素,用来描述如何从数据库结果集中加载你的对象 sql:可以重用的 sql 代码块 insert:映射插入语句 update:映射更新语句 delete:映射删除语句 select:映射查询语句 cache:配置给定命名空间的缓存 cache-ref:从其他命名空间引用缓

Mybatis(三) 映射文件详解

前面说了全局配置文件中内容的详解,大家应该清楚了,现在来说说这映射文件,这章就对输入映射.输出映射.动态sql这几个知识点进行说明,其中高级映射(一对一,一对多,多对多映射)在下一章进行说明. 一.输入映射 输入映射:配置statement中输入参数的类型.有四种 1.1.传递简单类型,八大基本类型,比如int类型 findUserById:根据id进行查询对应user,那么传入的就应该是int类型的值.所以使用别名int来映射传入的值 1.2.传递pojo(代表正常的对象,比如user的jav

springboot整合mybatis(映射文件方式和注解方式)

springboot作为一个微服务框架,给我们开发人员提供极大的便利,秉着约定大于配置的原则,通过starter包的形式为我们做了许多默认的配置,在进行数据持久化到关系型数据库时,我们一般都会首选spring data jpa,springboot为我们提供了starter包,只需配置很少的参数,就能满足我们的需求,非常方便.但是当我们遇到一些比较复杂的查询.多表关联查询及动态sql时,mybatis则在这方面更出色,并且在使用mybatis时我们可以通过sql优化来提高查询效率,springb

MyBatis(3)-映射文件

本次博文有疑问,请先看MyBatis(1)-简单入门 和 MyBatis(2)-全局配置文件! 如在有疑问,请留言或者咨询博主,博主每天都在!谢谢! 映射文件: 主要是在xxxmapper.xml文件里的配置 映射文件指导这MyBatis如何进行数据库的增删该查,有着很重要的意义. 下面开始进入正题,最后会发一个完整版的代码 因为实现的主要内容是增删改查,所以我们现在接口类中定义好相关的方法,后面不在进行单一的定义! 工程的目录如下: EmployeeMapper.java package co

MyBatis SQL映射文件

SQL映射文件的几个顶级元素: mapper : 映射文件的根元素节点 只有一个属性namespace(命名空间) 作用:用于区分不同的mapper ,全局唯一 绑定DAO接口,即面向接口编程 ,namespace的命名必须要跟接口同名.   cache:  配置给定命名空间的缓存 cache-ref: 从其他命名空间引用缓存配置 resultMap: 用来描述数据库结果集和对象的对应关系.   sql : 可以重用的SQL块,也可以被其他语句引用. insert: 映射插入语句. update

【MyBatis】映射文件示例

本文以实例说明Mapper文件的标签的使用. 配置文件在[MyBatis]配置文件示例 DAO文件 DepartmentMapper.java package com.atguigu.mybatis.dao; import com.atguigu.mybatis.bean.Department; public interface DepartmentMapper { public Department getDeptById(Integer id); public Department getD

Mybatis XML映射文件

mybatis为聚焦于SQL而构建,SQL映射文件常用的顶级元素如 resultMap,是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象. insert,映射插入语句 update, 映射更新语句 delete , 映射删除语句 select , 映射查询语句 1)简单的单表映射文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//my