假设我有一个查询 getUser 使用两个参数 - 用户名和密码。我想让映射方法看起来像这样:

public UserBean getUser(String userName, String password);

有什么办法可以实现这样的目标?或者,也许我应该传递我的映射法参数图(以及XML映射器中的某些参数)?

public UserBean getUser(Map<String, Object> paramMap);

我期待着一些提示和解释。

有帮助吗?

解决方案

没有任何特殊配置,您可以将第一个和第二个参数分别称为#{1}和#{2}。

如果您想将参数命名,而不是以数字为单位,请执行以下操作:在选择“选择语句”的XML映射中,设置parametertype =“ map”,在接口文件中,用@param注释参数。例如,public userbean getuser(@param(“ user_name”字符串用户名,@param(“ passect”)字符串密码);将允许您在xml映射中引用用户名和密码,为#{user_name#}和#{密码}分别。

其他提示

您不应该更改DAO方法的签名,唯一要考虑的问题是如何构建映射。 IBATIS仅支持一个输入参数,您必须决定您的类(属性 parameterType)将您的两个原始参数打包成一个。

在这种情况下,您可以(除其他选项)将两个参数放在一个 Map (HashMap, ,通常),或(如果参数对应于 UserBean 班级)通过假人 UserBean 设置这两个属性。

在这两种情况下 public UserBean getUser(String userName, String password) 方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top