mybatisplus之使用@Select解读

 更新时间:2023年07月01日 15:51:56   作者:强风吹拂str  
这篇文章主要介绍了mybatisplus之使用@Select解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mybatisplus使用@Select

在自己的mapper文件里面 比如我这个是ckDao.java文件,写个方法,然后就可以用 @Autowired 注册这个mapper,就会去执行sql语句

    @Select("SELECT DISTINCT  name FROM `ck` where company = '顺网' and deleted = 1")
    List<CkEntity> listCompany();
    @Select("SELECT count(*) FROM `ck` where company = '顺网' and deleted = 1" + " and name like '%${name}%'")
    String countCompanyData(@Param("name") String name);

实现方法

    @Override
    public XXX listCompanyData() {
        List<CkEntity> ckEntities = ckDao.listCompany();
        return XXX;
    }

mybatisplus @Select注解参数判空及SQL拼接

场景

在@Select注解使用中,自定义sql时,会存在一个或多个查询条件的情况,这样在注解形式sql里,插入参数需要进行判空

实例

@Select({"<script>"+
"SELECT DISTINCT "+
"a.monitor_id monitorId," +
"a.monitor_name monitorName," +
"a.target," +
"a.priority,"+
"a.gmt_create gmtCreate " +
"FROM "+
"alert a,"+
"( SELECT monitor_id, max( gmt_create ) gmt_update FROM alert GROUP BY monitor-id ) b " +
"WHERE " +
"a.monitor_id = b.monitor_id "+
"AND a.gmt_create = b.gmt_update " +
"AND DATEDIFF(gmt_create,NOW())=0 "+
"<when test='times!=null'>" +
"AND times = #{times}"+
"</when>"+
"<when test='monitorName!=null'" +
"AND monitor_name like concat('%',#(monitorName},'%')" 
"</when>"+
"<when test='priority!=null'" +
"AND priority = #{priority}"+
"</when>"+
"</script>"})
List<IndicateDetail> getIndicatorList(@Param("monitorName")String monitor_name,@Param("times")String times,@Param("priority")String priority);

用script标签包围,然后像xml语法写

条件匹配 =用 #{}包装传进来的参数,如果是模糊查询,需要使用函数concat拼接%字符串

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java如何发送get请求获取数据(附代码)

    java如何发送get请求获取数据(附代码)

    这篇文章主要给大家介绍了关于java如何发送get请求获取数据的相关资料,Java中的GET请求方法是HTTP协议中的一种请求方式,用于向服务器请求获取资源,需要的朋友可以参考下
    2023-10-10
  • AndroidStudio无法新建Java工程的简单解决办法

    AndroidStudio无法新建Java工程的简单解决办法

    AS创建java工程是非常麻烦的,AS没有提供直接创建java工程的方法且常常无法新建,这篇文章主要给大家介绍了关于AndroidStudio无法新建Java工程的简单解决办法,需要的朋友可以参考下
    2024-06-06
  • 使用SpringBoot配置多数据源的经验分享

    使用SpringBoot配置多数据源的经验分享

    这篇文章主要介绍了使用SpringBoot配置多数据源的经验分享,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Java对象不使用时赋值null的意义详解

    Java对象不使用时赋值null的意义详解

    这篇文章主要介绍了java对象不再使用时赋值null的意义,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 关于spring-security(记住密码,CSRF)

    关于spring-security(记住密码,CSRF)

    文章主要介绍了Spring Security中的PersistentTokenRepository、CSRF保护机制以及如何在登录页面添加记住我功能,并分享了相关实现代码和配置
    2024-11-11
  • 高分面试分析jvm如何实现多态

    高分面试分析jvm如何实现多态

    这篇文章主要介绍了讲解了在面试中jvm如何实现多态,怎样回答才能得到高分的问题分析,有需要的朋友可以借鉴参考下,祝大家早日升职加薪多多进步
    2022-01-01
  • 详解Mybatis核心类SqlSessionFactory的构建

    详解Mybatis核心类SqlSessionFactory的构建

    这篇文章主要为大家详细介绍了Mybatis核心类SqlSessionFactory的构建过程,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-12-12
  • Java中DTO与Entity拷贝转换的方法小结

    Java中DTO与Entity拷贝转换的方法小结

    在 Java 开发中,DTO(Data Transfer Object)和 Entity(实体类)是常见的两种数据模型,本文将介绍几种常见的工具类和自定义方式来实现这种转换,感兴趣的可以了解下
    2025-02-02
  • EditPlus运行java时从键盘输入数据的操作方法

    EditPlus运行java时从键盘输入数据的操作方法

    这篇文章主要介绍了EditPlus运行java时从键盘输入数据的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 深入探讨Java SPI机制及其应用场景

    深入探讨Java SPI机制及其应用场景

    本文深入介绍了Java SPI机制的原理和实现方式,以及在Java中如何使用SPI实现可插拔的组件化架构,包括示例代码和应用场景分析,帮助读者更好地理解和应用该机制
    2023-04-04

最新评论