MyBatisPlus(簡稱MP)是基于MyBatis的增強工具,在使用動態SQL時,配置方式與MyBatis并無太大差異,只是在實現方式上做了一些簡化和優化。下面是MyBatisPlus動態SQL的配置方式:
public class User {
@TableId
private Long id;
@TableField
private String username;
@TableField
private Integer age;
}
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 自定義SQL方法
}
<select id="findUser" resultType="User">
SELECT * FROM user
<where>
<if test="username != null">
AND username = #{username}
</if>
<if test="age != null">
AND age = #{age}
</if>
</where>
</select>
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> findUser(String username, Integer age) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username", username);
queryWrapper.eq("age", age);
return userMapper.selectList(queryWrapper);
}
}
通過以上配置,可以實現動態SQL的拼接和執行。MyBatisPlus提供了更加便捷的操作數據庫的方式,可以大大提高開發效率。