阅读量:0
MyBatis提供了一些动态标签来构建动态SQL语句,常用的动态标签有if、choose、when、otherwise、foreach等。下面是一个示例,演示如何使用MyBatis的动态标签:
假设有一个User类,包含id、username和age属性:
public class User { private Long id; private String username; private Integer age; // 省略getter和setter方法 }
在Mapper接口中定义一个查询方法:
public interface UserMapper { List selectUsers(@Param("username") String username, @Param("age") Integer age); }
在Mapper.xml文件中,使用动态标签来构建动态SQL语句:
<select id="selectUsers" parameterType="java.util.Map" resultType="User"> SELECT * FROM user <where> <if test="username != null"> AND username = #{username} if> <if test="age != null"> AND age = #{age} if> where> select>
在上面的示例中,使用了
在调用selectUsers方法时,可以传入不同的参数来获取符合条件的用户列表:
Map params = new HashMap<>(); params.put("username", "Tom"); params.put("age", 20); List users = userMapper.selectUsers(params);
以上就是使用MyBatis动态标签构建动态SQL语句的示例,通过合理使用动态标签可以方便灵活地构建复杂的SQL查询条件。