温馨提示×

MyBatis使用HashMap动态组装查询条件

小樊
86
2024-08-02 01:19:11
栏目: 编程语言

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,就会加入相应的查询条件中。

这种方式可以灵活地根据传入的参数来动态构建查询条件,使得查询更加灵活和易于维护。

0