栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

十二、动态SQL

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

十二、动态SQL

十二、动态SQL

电商平台:淘宝、京东

筛选商品

用户的筛选条件不同,完成筛选执行的SQL也不一样,我们可以一一列举不同条件的筛选,但是这种筛选过于繁琐,一旦筛选条件过多,那么组合方式也会很多,MyBatis就提供了动态SQL的配置方式来实现这种多条件查询

12.1 什么是动态SQL

根据查询条件动态完成SQL的拼接

12.2 动态SQL使用案例

案例:查询自己喜欢的人

12.2.1 创建数据表
create table members(
	member_id int primary key auto_increment,
    member_nick varchar(20) not null,
    member_gender char(2) not null,
    member_age int not null,
    member_city varchar(30) not null
);
12.2.2 创建实体类
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class Member {
    private int memberId;
    private String memberNick;
    private String memberGender;
    private int memberAge;
    private String memberCity;
}
12.2.3 创建dao接口

在dao接口中定义一个多条件查询的方法

12.2.4 where标签

    
    
    
    
    


    select member_id,member_nick,member_gender,member_age,member_city
    from members   
      
      
        and member_gender=#{gender}
    

      
        and member_age ">>= #{minAge} 
    

      
        and member_age <= #{maxAge}   
    

      
        and member_city = #{city}
    
    

12.2.5 if标签

  
  
    and member_gender=#{gender}


  
    and member_age ">>= #{minAge} 


  
    and member_age <= #{maxAge}   


  
    and member_city = #{city}


order by member_age  
12.2.6 trim标签


  
    and member_gender=#{gender}


  
    and member_age ">>= #{minAge} 


  
    and member_age <= #{maxAge}   


  
    and member_city = #{city}


12.2.7 foreach标签

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/988499.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号