MyBatis允許使用HashMap來動態組裝查詢條件。下面是一個示例:
首先,在Mapper XML文件中定義一個select語句,如下所示:
<select id="selectByCondition" parameterType="map" resultType="com.example.User">
SELECT * FROM user
WHERE 1=1
<if test="username != null">
AND username = #{username}
</if>
<if test="email != null">
AND email = #{email}
</if>
</select>
然后在Java代碼中調用該查詢,傳入一個HashMap作為參數:
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("username", "john");
paramMap.put("email", "john@example.com");
List<User> userList = sqlSession.selectList("com.example.UserMapper.selectByCondition", paramMap);
在這個例子中,我們使用HashMap作為參數傳遞給selectByCondition查詢,根據HashMap中存儲的鍵值對動態組裝查詢條件。如果HashMap中的某個鍵對應的值不為null,就會加入相應的查詢條件中。
這種方式可以靈活地根據傳入的參數來動態構建查詢條件,使得查詢更加靈活和易于維護。