这个问题怎么解决呀!有厉害的人知道吗!

已知用户实体类为com.qst.User,请在UserMapper.xml中使用标签完成如下两个查询语句:1)从user表中根据uname和usex查询用户信息,其中uname模糊查询,如果uname、usex参数传入的值为空则查询全部信息。 2)从user表中根据uname或usex查询用户信息,其中uname模糊查询,如果uname不为空则根据uname模糊查询,如果uname为空,usex不为空则根据usex查询,如果两个参数值都为空,则查询id<10的用户信息。

代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qst.mapper.UserMapper">
    <select id="getUserByusexAnduname" resultType="com.qst.entity.User">
        select * from user
         <where>
             <if test="usex!=null and usex!=''">
                 usex = #{usex}
             </if>
             <if test="uname != null and uname!=''">
                 AND uname LIKE concat('%',#{uname},'%')
             </if>
         </where>
    </select>

    <select id="getUserByusexAnduname2" resultType="com.qst.entity.User">
        select * from user
        <where>
            <if test="usex!=null and usex!='' and (uname = null or uname =='')">
                usex = #{usex}
            </if>
            <if test="(uname != null and uname!='') and (usex==null or usex=='')">
                AND uname LIKE concat('%',#{uname},'%')
            </if>
            <if test="(uname == null or uname=='') and (usex==null or usex=='')">
                AND id < 10
            </if>
        </where>
    </select>
</mapper>



package com.qst.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import com.qst.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
 * @Description: 用户表
 * @Author: balackoon
 * @Date:   2022-05-14
 * @Version: V1.0
 */
public interface UserMapper extends BaseMapper<User> {
    List<User> getUserByusexAnduname(@Param("usex") String usex,@Param("uname") String uname);
    List<User> getUserByusexAnduname2(@Param("usex") String usex,@Param("uname") String uname);
}

若有帮助,谢谢采纳~

1.
select * from user
 <where>
    <if test="name != null">name like concat('%', #{name}, '%')</if>
    <if test="usex != null">and usex = #{usex}</if>
</where>


2.
 select * from user
        <where>
            <if test="uname != null and uname != ''">uname like concat('%', #{uname}, '%')</if>
            <if test="uname == null and usex != null">usex = #{usex}</if>
            <if test="uname == null and usex == null">id &gt; 10</if>
        </where>