现在大多项目都是使用 Mybatis 了, 但也有些公司使用 Hibernate. 使用 Mybatis 最大的特性就是 sql 需要自己写, 而写 sql 就需要传递多个参数. 面对各种复杂的业务场景, 传递参数也是一种学问.
下面给大家总结了以下几种多参数传递的方法.
方法 1: 顺序传参法
#{} 里面的数字代表你传入参数的顺序.
这种方法不建议使用, sql 层表达不直观, 且一旦顺序调整容易出错.
方法 2:@Param 注解传参法
#{} 里面的名称对应的是注解 @Param 括号里面修饰的名称.
这种方法在参数不多的情况还是比较直观的, 推荐使用.
方法 3:Map 传参法
#{} 里面的名称对应的是 Map 里面的 key 名称.
这种方法适合传递多个参数, 且参数易变能灵活传递的情况.
方法 4:Java Bean 传参法
#{} 里面的名称对应的是 User 类里面的成员属性.
这种方法很直观, 但需要建一个实体类, 扩展不容易, 需要加属性, 看情况使用.
来源: http://zhuanlan.51cto.com/art/201804/571910.htm