Mybatis多条件查询

目录

mysql

具体目录结构,以防写错​

 Mapping

 Dao层

Serverce层

serverce

ServerceImpl

Controller层

查询结果(成功实现!)


官网地址:mybatis – MyBatis 3 | 动态 SQLhttps://mybatis.org/mybatis-3/zh/dynamic-sql.html

直接展示自己的代码。

mysql

具体目录结构,以防写错

 Mapping

    <select id="User_Info_Ids" resultType="com.wu.pojo.User_Info">
        select * from user_info
        <where>
            <if test="user != null and user!=''">
                AND user = #{user}
            </if>
            <if test="password != null and password !=''">
                AND password = #{password}
            </if>
            <if test="gender != null and gender != ''">
                AND gender = #{gender}
            </if>
            <if test="grade != null and grade != ''">
                AND grade = #{grade}
            </if>
            <if test="mailbox != null and mailbox != ''">
                AND mailbox = #{mailbox}
            </if>
            <if test="phonenumber != null and phonenumber != ''">
                AND phonenumber = #{phonenumber}
            </if>
        </where>
    </select>

 Dao层


    //条件查询
    public List<User_Info> User_Info_Ids(@Param("user")String user, @Param("password")Integer password, @Param("gender")String gender,@Param("grade")String grade,@Param("mailbox")String mailbox,@Param("phonenumber")Integer phonenumber);

Serverce层

serverce


    public List<User_Info> User_Info_Ids(@Param("user")String user, @Param("password")Integer password, @Param("gender")String gender, @Param("grade")String grade, @Param("mailbox")String mailbox, @Param("phonenumber") Integer phonenumber);

ServerceImpl

    @Override
    public List<User_Info> User_Info_Ids(String user, Integer password, String gender, String grade, String mailbox, Integer phonenumber) {
        return user_infoMapping.User_Info_Ids(user,password,gender,grade,mailbox,phonenumber);
    }

Controller层


    @ResponseBody
    @RequestMapping("/Ids")
    public List<User_Info> User_Info_Ids(){
        System.out.println("开始查询");
        List<User_Info> ids = user_infoService.User_Info_Ids("1",1,"1","1",null,null);
        System.out.println(ids);
        System.out.println("结束查询");
        return ids;
    }

//    @ResponseBody
//    @RequestMapping("/Ids")
//    public List<User_Info> User_Info_Ids(){
//        System.out.println("开始查询");
//        List<User_Info> ids = user_infoService.User_Info_Ids("1",1,"1","1","1",1);
//        System.out.println(ids);
//        System.out.println("结束查询");
//        return ids;
//    }

试了两种方法,一种是全部sql语句都实现,一种是另外两个元素给控制

查询结果(成功实现!)

最后总结:SQL类型为int类型,Java对应类型应该为Integer这种包装类。个人尝试过如果给Java给int类型不能传入 null,所以要使用 Integer 包装类,应为具体查询别人可能就只是输入一个查询条件,其他条件为空,有其他解决放发欢迎私聊。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值