gpt4 book ai didi

java - 使用参数名称时映射器出错

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:05 25 4
gpt4 key购买 nike

我正在使用 Spring 3.2.0 MVC 和 mybatis 3.2.3 以及 mybatis-spring 1.2.1 和 ojdbc6 11.2.0.2.0

我有一个用 2 个不同类型的参数(日期和整数)定义的 XML 映射器。我在查询中将它们引用为 #{myid} 和 #{mydate} 但我从 ibatis 收到错误消息:

org.apache.ibatis.binding.BindingException: Parameter 'myid' not found. Available parameters are [1, 0, param1, param2]

如果我将参数引用为#{0} 和#{1},一切正常。

我有另一个只有一个参数的映射器,我可以将该参数引用为#{myDate}(唯一的区别是我在 XML 中有以下内容:

<select id="getAllbyDate" parameterType="date" resultType="com.test.myTest">

我的问题是带有多个参数的查询不允许我在 XML 文件中指定参数名称。我可以使用单个参数按名称进行引用。

最佳答案

在mapper Interface java文件中这样写方法

public List<com.test.myTest> getAllbyDate(@Param("date") Date date, @Param("myid") int myid) 

然后,修改xml文件

<select id="getAllbyDate" parameterType="map" resultType="com.test.myTest"> 

Mybatis将所有带有注解@Param的参数放入map中。

关于java - 使用参数名称时映射器出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19991023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com