首页 > 其他分享 >mybatis动态标签——where、if

mybatis动态标签——where、if

时间:2023-03-03 21:46:03浏览次数:32  
标签:mapper 标签 EmpMapper emp mybatis null where public Emp

mapper接口

public interface EmpMapper {

    List<Emp> getEmp(Emp emp);
}

mapper.xml

<?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.xxx.dynamicSQL.mapper.EmpMapper">

    <!--
        if标签:通过test属性中的表达式判断标签中的内容是否有效(是否会拼接到sql中)
        where标签:1.若where标签中有条件成立,会自动生成where关键字
                   2.会自动将where标签中内容前多余的and去掉,但是其中内容后多余的and无法去掉
                   3.若where标签中没有任何一个条件成立,则where也不会自动生成
    -->
    <select id="getEmp" resultType="emp">
        select * from t_emp
        <where>
            <if test="empName != null and empName != ''">
                and emp_name = #{empName}
            </if>
            <if test="age != null and age != ''">
                and age = #{age}
            </if>
            <if test="gender != null and gender != ''">
                and gender = #{gender}
            </if>
        </where>
    </select>
</mapper>

测试代码

@Test
    public void test1(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
        Emp emp = new Emp(null,"李四",null,"男");
        List<Emp> list = mapper.getEmp(emp);

        list.forEach(System.out::println);
    }

 

标签:mapper,标签,EmpMapper,emp,mybatis,null,where,public,Emp
From: https://www.cnblogs.com/ixtao/p/17177055.html

相关文章

  • EasyCode mybatis-plus模板 &Live tmpl
    Mapper##导入宏定义$!{define.vm}##设置表后缀(宏定义)#setTableSuffix("Mapper")##保存文件(宏定义)#save("/mapper","Mapper.java")##包路径(宏定义)#setPackageS......
  • 易优cms api接口中 apiAdv广告列表标签使用方法
    【基础用法】名称:apiAdv 功能:获取广告列表内容。语法:  参数:pid=''广告位置IDlimit='起始ID,记录数'(起始ID从0开始)表示限定的记录范围(如:limit='1,2'表示从ID为1的记录......
  • 易优cms的开发接口apiChannel 获取栏目列表标签使用方法
    [基础用法]名称:apiChannel功能:通常用于网站导航以获取站点栏目信息,方便网站会员分类浏览整站信息语法: 参数:channelid='频道id',在文档列表页使用时可以此参数可以不用拼接u......
  • 易优cms apiFlink 友情链接标签介绍
    【基础用法】名称:apiFlink功能:用于获取友情链接列表。语法: 参数:type=''链接类型,text为文字链接,image为图片链接,all为全部链接groupid=''链接分组ID,没有该属性系统调用默......
  • 专业问大家置顶,专业删除评价坏标签
    专业问大家置顶,专业删除评价坏标签最近做了很久的淘宝,了解到了居然还有这种技术,很神奇,于是从程序员的思维来了解淘宝的程序员的思维,发现了一些好玩的东西。换位思考如果......
  • 从Linq的Where方法理解泛型、委托应用场景
      最近遇到了一个问题,Linq的Where里面传递的是什么?Where的功能是什么实现的?没有第一时间答上来,在整理相关资料后决定自行实现Linq的Where方法来加深印象。什么是泛型......
  • java-mybatis
    1、添加依赖<dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><ver......
  • springboot整合mybatis
    1,引入依赖<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version><scope>runtime</scope></depend......
  • 火狐中关闭最后一个标签页时 不关闭浏览器
    1.在地址栏输入”about:config“并回车。2、接着会出现一个提示“这可能使质量保证失效”,点击“我了解此风险!”。3、在搜索的空白栏中输入browser.tabs.closeWindowWithL......
  • MyBatis_10(分页插件)
    主题:分页插件一、分页插件使用步骤:1-添加依赖<!--https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper--><dependency> <groupId>com.github......