本文主要是介绍MyBatis - 多参数的传递方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
此章对 Dao 接口中 多个基础类型参数、或单参数但为 Bean / Map 等复杂类型、或者多个复杂类型参数 的情况
- _parameter
当 Dao 接口中定义的是一个复杂类型参数时,此时内置参数 _parameter 代表的是当前参数对应的复杂类型对象
当 Dao 接口中定义的是多个参数时,多个参数会被封装为一个 map 类型,此时内置参数 _parameter 代表的是封装了多个参数的 Map 对象
简而言之:接口定义为单参数,则 _parameter 为当前参数,接口定义为多参数,则 _parameter 为参数集的 Map 对象
- 参数的说明
当单个基本参数时,未别名时,取值随意命名,判断必须 _parameter,如果通过 @Param 指定了命名,只能使用 命名;
当单个复杂参数时,未别名时,属性取值和属性判断都是直接使用属性名称(若Map类型使用Key名称),别名之后,都必须携带别名的前缀,即别名.属性
当多个基本参数时,属性的默认取值和判断都为 arg[index],别名之后直接使用 别名
当多个复杂参数时,属性的默认取值和判断都为 arg[index].属性名称,别名后通过 别名.属性
当多个任何参数时,可以在 Service 层封装为一个 Map 对象,然后以单参数的形式传递给 Dao 层
总而言之:单参数基础类型,直接通过 _parameter/随意命名 引用;单参数的复杂类型/自定实体,直接通过 属性名称 引用,Map 通
这篇关于MyBatis - 多参数的传递方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!