java - 如何在 MyBatis 中 foreach 数组

标签 java mysql mybatis

这是数组:

String[] user_login_array={user_email,user_password};

这是mybatis.xml:

<select id="getUser" parameterType="String"resultType="post.User">
     select * from users where user_email=#{user_email} and user_password=#{user_password}
</select>

如何将数组的参数添加到此 SQL 中?

最佳答案

这是我首先想到的。请参阅下面的逻辑,您实际上是在数组上循环并使用多个 AND 和 OR 来处理查询。这对您来说可能不是完美的查询,但希望这能让您对实际解决方案有一些了解。

<select id="getUser" parameterType="String"resultType="post.User"> 
select * from users where    
          <foreach item="item" collection="user_login_map.entrySet()" separator="OR">
        (user_email=#{item.key} AND user_password=#{item.value})
        </foreach>
</select>

关于java - 如何在 MyBatis 中 foreach 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54721675/

相关文章:

mysql - MariaDB 在 Windows 中支持 lower_case_table_names=0 吗?

java - 如何在 Android 中加速从 .txt 解析数据并写入 SQLite?

java - Spring Boot + MongoDB Id 查询

php - 如何将连接对象传递给闭包

stored-procedures - MyBatis 映射器调用具有多个 IN 参数的 PROC

java - 将图像从数据库加载到 Spring 应用程序上下文中。我使用mybatis api

mysql - MyBatis批量更新异常:Column cannot be null

Java - 最高、最低和平均水平

java - 需要帮助-Struts 2 中的特定方法验证

mysql - 相同的 SQL 代码在不同的 MySQL 客户端上返回不同的结果集