Mybatis多条件查询

项目整体结构

在这里插入图片描述

mapper接口的作用

在博客内,发布过两个mybatis入门案例,一个是带有mapper文件,另一个是不带有mapper文件,mapper文件的存在是为了我们更好的管理和查看sql文件,mapper是sql文件的映射

什么是多条件查询

我们来简单说一下,条件查询就是在查询的时候,根据多个条件进行查询,例如查询学生成绩的时候,我们要查找全班姓李和年龄为12的学生的成绩,那么这个条件查询分别是姓名和年龄

我们直接来看代码,看一下条件查询如何编写。

在看条件查询之前,我们需要学会mybatis入门案例,大家可以点击查看mybatis入门案例

多条件查询分析

我们现在需要按照学生的姓和年龄进行查询我们需要怎么做(学生类在入门案例中已经编写过了,在这里我们不再重述)

  1. 编写mapper接口文件
  2. 编写sql映射文件
  3. 编写测试类

编写mapper接口文件,我们需要写一个方法参数是姓和年龄。

sql映射文件,我们需要编写mapper的具体实现过程

编写测试类,我们需要给出参数,进行查询验证。

现在我们开始编写代码。

mapper接口文件:

package haimeng.mapper;

import haimeng.entity.Student;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface StudentMapper {
   
    //查询所有
    List<Student> selectAll();
    //根据id查询
    Student selecById(int i);

//    条件查询(所讲内容)
    List<Student> selectByCondition (@Param("name") String name,@Param("age") int age);
}

我们使用@Param进行多条件查询 。

编写sql映射文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="haimeng.mapper.StudentMapper">

<!--    查询所有-->
    <select id="selectAll" resultType="haimeng.entity.Student">
        select * from student;
    </select>
<!--parameterType指定参数类型(一般不写)-->
<!--    根据id查询-->
    <select id="selecById" parameterType="int" resultType="haimeng.entity.Student">
        select * from student where id = #{id};
    </select>

<!--    条件查询语句-->
    <select id="selectByCondition" resultType="haimeng.entity.Student">
        select * from student
        where
        name like #{name}
        and age like #{age}
    </select>


</mapper>

编写测试类:

package haimeng.test;

import haimeng.entity.Student;
import haimeng.mapper.
MyBatis是一款优秀的ORM框架,它支持多条件查询。实现多条件查询的方式是利用MyBatis的特色——动态SQL。动态SQL允许我们根据不同的条件来动态构建SQL语句,从而实现多条件查询的功能。 总结来说,我们可以使用MyBatis的动态SQL特性来构建多条件查询。通过在MyBatis的核心配置文件中定义查询语句,并使用占位符来设置查询条件,我们可以根据需要动态生成查询语句。例如,在UserMapper.xml文件中,我们可以使用<select>元素来定义多条件查询语句,并使用占位符来设置条件。 在测试代码中,我们可以创建一个封装查询条件的对象QueryVo,并设置相应的属性来指定查询条件。然后,将QueryVo对象作为参数传递给查询方法,即可完成多条件查询。 需要注意的是,我们可以通过设置<select>元素的resultType属性来指定查询结果的输出类型。这样,查询结果将会被映射到指定的类型中,方便我们进行后续的处理。 以上就是使用MyBatis进行多条件查询的基本方法和步骤。通过动态SQL和合适的配置,我们可以根据不同的条件进行灵活的查询操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java配合MyBatis 多条件查询及动态SQL](https://download.csdn.net/download/ybb_ymm/87916420)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Mybatis_多条件查询](https://blog.csdn.net/hxy1625309592/article/details/113527256)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海梦在飘扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值