因为java没有保存行参的记录,所有java在运行的时候会把例如List queryAll(int offset,int limit);中的参数变成这样:queryAll(int arg0,int arg1),这样我们就没有办法去传递多个参数。所以需要使用@Param注解给方法参数命名,然后在xml文件的该dao层方法对应的sql语句中就可以正常使用@Param注解的参数名。
如下:
1、使用param注解:
(mapper层)
List<ProductOnAppBO> getProductOnApp(@Param("productType") Integer productType,@Param("productName") String productName);
该例子中,使用了@Param(“productType”) Integer productType,因此在sql中就可以通过#{productType}的方式获取传入的该参数。
2、不使用
param注解:
(mapper层)
List<ProductCommissionRateBO> getProductCommissionRateList(String attachmentType);
该例子中,未使用param注解,因此,若在sql中使用#{attachmentType}的方式获取传入的该参数会报错,只能通过#{param1}方式获取。
个人建议使用param注解,较方便。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/12830.html