zoukankan      html  css  js  c++  java
  • Mybatis多参传递的四种解决方案

    Mybatis多参传递的四种解决方案

    代码异常:org.apache.ibatis.binding.BindingException: Parameter 'param' not found.

    长时间没用持久层mybatis框架,今天还出了些异常。查了一下原来是传多参的问题,此问题以前也出现过,现在把解决方案记下以便利其他人及自己后期异常解决。

    首先声明,“本人使用的是Dao接口的方式

    方案一

    Dao参数传递为VO,XML配置:parameterType="*.VO"

    方案二

    Dao参数传递为Map,XML配置:parameterType="hashMap"。当然Service层需将参数放入Map。

    此方法我之前经常用,但并不是太直观,接口方法不能直接清楚传的参数是什么

    方案三

    Dao参数仍该怎么写就怎么写,但在XML配置中不写入parameterType

    参数用#{0}、#{1}、#{*}依次占位

    方案四

    Dao层使用注解@Param,XML配置中不写入parameterType

    e.g

        Integer getCountByNameAndPass(@Param("userName") String userName,@Param("password")String password);
     

     个人觉得相较而言,方案四最优

    PS:方案一、二配置中不写入parameterType未进行尝试。读者可自行尝试。

  • 相关阅读:
    SpringCloud笔记(一)服务注册与发现
    个人备忘录
    ActiveMQ 消息持久化到Mysql数据库
    染色 [组合数 容斥]
    各种图床
    NOIP2012 疫情控制
    网格计数
    找钱 [多重背包 计数]
    序列[势能线段树]
    牛客挑战赛33 B-鸽天的放鸽序列
  • 原文地址:https://www.cnblogs.com/zhaoww/p/5197567.html
Copyright © 2011-2022 走看看