SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名操作

 更新时间:2022年12月22日 09:50:53   作者:花果水莲  
这篇文章主要介绍了SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、普通查询

1. 若查询出的数据只有一条

a>可以通过实体类对象接收

    <!-- Dish getDishByName(@Param("name") String name);-->
    <select id="getDishByName" resultType="com.athorse.entities.Dish">
        select * from dish where name = #{name}
    </select>

b>可以通过list集合接收

<!-- List<Dish> getDishByName(@Param("name") String name);-->
    <select id="getDishByName" resultType="com.athorse.entities.Dish">
        select * from dish where name = #{name}
    </select>

c>可以通过map集合接收

<!-- Map<String,Object> getDishByName(@Param("name") String name);-->
    <select id="getDishByName" resultType="map">
        select * from dish where name = #{name}
    </select>

2. 若查询出的数据有多条

a> 可以通过list集合接收

<!-- List<Dish> getDishByName(@Param("name") String name);-->
    <select id="getDishByName" resultType="com.athorse.entities.Dish">
        select * from dish where name = #{name}
    </select>

b>可以通过map类型的list集合接收

<!-- List<Map<String,Object>> getDishByName(@Param("name") String name);-->
    <select id="getDishByName" resultType="map">
        select * from dish where name = #{name}
    </select>

c>可以在mapper接口的方法上添加@MapKey注解,此时就可以将每条数据转换的map集合作为值,以某个字段的值作为键。

二、模糊查询 like "%"#{name}"%"

<!-- List<Dish> getDishByName(@Param("name") String name);-->
 <select id="getDishByName" resultType="com.athorse.entities.Dish">
        select * from dish where name like "%"#{name}"%"
 </select>

三、批量删除 in (${ids})

<!--Integer deleteMore(@Param("ids") String ids);-->
    <delete id="deleteMore">
        delete from dish where id in (${ids})
    </delete>

四、动态设置表名 ${tableName}

<!-- List<Dish> getDishs(@Param("tableName") String tableName);-->
    <select id="getDishs" resultType="com.athorse.entities.Dish">
        select * from ${tableName}
    </select>

总结:#{}会自动的拼接上'',而${}不会,所以特殊场景下需要使用${}

到此这篇关于SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名的文章就介绍到这了,更多相关SpringBoot整合Mybatis查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java NIO三大组件与ByteBuffer深入理解及使用

    Java NIO三大组件与ByteBuffer深入理解及使用

    这篇文章主要介绍了Java NIO三大组件与ByteBuffer,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • SpringBoot快速构建应用程序方法介绍

    SpringBoot快速构建应用程序方法介绍

    这篇文章主要介绍了SpringBoot快速构建应用程序方法介绍,涉及SpringBoot默认的错误页面,嵌入式Web容器层面的约定和定制等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2017-11-11
  • java SpringMvc中拦截器的应用

    java SpringMvc中拦截器的应用

    大家好,本篇文章主要讲的是java SpringMvc中拦截器的应用,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • 用Spring将Service注入到Servlet中的流程步骤

    用Spring将Service注入到Servlet中的流程步骤

    在Java Web开发中,​​Servlet​​是一个非常重要的组件,它用于处理客户端的请求并生成响应,而​Spring​​框架则是一个广泛使用的依赖注入框架,可以帮助开发者管理应用中的对象及其依赖关系,本文将介绍如何使用Spring框架将Service层的对象注入到Servlet中
    2025-01-01
  • 关于Java中ArrayList的源码分析

    关于Java中ArrayList的源码分析

    这篇文章主要从源码角度带大家深入了解一下Java中ArrayList的构造方法和属性等知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-05-05
  • Spring Boot简介与快速搭建详细步骤

    Spring Boot简介与快速搭建详细步骤

    SpringBoot其本身没有添加什么新的技术,就是整合了一些现有的框架,并提供了一些默认的配置,就是这些默认的配置,极大的提高了我们的开发效率。这篇文章主要介绍了Spring Boot简介与快速搭建,需要的朋友可以参考下
    2021-05-05
  • 了解JAVA并发工具常用设计套路

    了解JAVA并发工具常用设计套路

    这篇文章主要介绍了了解JAVA并发工具常用设计套路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • java实现在性能测试中进行业务验证实例

    java实现在性能测试中进行业务验证实例

    这篇文章主要为大家介绍了java实现在性能测试中进行业务验证实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 浅谈Java动态代理的实现

    浅谈Java动态代理的实现

    最近,小组同事做代码改造时,使用到了动态代理,自己阅读时,发现对代理这种设计模式都不怎么清楚,导致理解代码也很困难 自己唯一能看懂的,大概就是handler中的invoke方法 ,文中作出了非常详细的介绍,需要的朋友可以参考下
    2021-05-05
  • SpringBoot详细介绍SPI机制示例

    SpringBoot详细介绍SPI机制示例

    这篇文章主要介绍了深入解析Spring Boot的SPI机制详情,SPI是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要用于框架中开发,更多相关介绍,感兴趣的小伙伴可以参考一下下面文章内容
    2022-08-08

最新评论