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.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

海梦在飘扬

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

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

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

打赏作者

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

抵扣说明:

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

余额充值