• MyBatis select标签


    在 MyBatis 中,select 标签是最常用也是功能最强大的 SQL 语言,用于执行查询操作。

    select 示例语句如下。

    SELECT id,NAME,url FROM website WHERE NAME LIKE CONCAT (‘%’,#{name},‘%’)

    以上是一个 id 为 selectAllWebsite 的映射语句,参数类型为 string,返回结果类型为 Website。

    执行 SQL 语句时可以定义参数,参数可以是一个简单的参数类型,例如 int、float、String;也可以是一个复杂的参数类型,例如 JavaBean、Map 等。MyBatis 提供了强大的映射规则,执行 SQL 后,MyBatis 会将结果集自动映射到 JavaBean 中。
    为了使数据库的查询结果和返回值类型中的属性能够自动匹配,通常会对 MySQL 数据库和 JavaBean 采用同一套命名规则,即 Java 命名驼峰规则,这样就不需要再做映射了(数据库表字段名和属性名不一致时需要手动映射)。

    参数的传递使用#{参数名},相当于告诉 MyBatis 生成 PreparedStatement 参数。对于 JDBC,该参数会被标识为“?”。以上 SQL 语句可以使用 JDBC 实现,实现代码如下。
    String sql = “SELECT id,NAME,url FROM website WHERE NAME LIKE CONCAT (‘%’,?,‘%’)”;
    PreparedStatement ps = conn.prepareStatement(sql);
    ps.setString(1,userName);
    ​select标签常用属性
    下面介绍 select 标签中常用的属性。
    image.png
    传递多个参数
    现在需要根据 id 和 name 来模糊查询网站信息,显然这涉及到了两个参数。给映射器传递多个参数分为以下三种方法。
    使用Map传递参数
    使用注解传递参数
    使用JavaBean传递参数

    下面分别讲解这 3 种方法的具体实现。

    1. 使用Map传递参数
      使用 MyBatis 提供的 Map 接口作为参数实现,如下所示。
    SELECT id,NAME,url FROM website WHERE name LIKE CONCAT ('%',#{name},'%') AND url LIKE CONCAT ('%',#{url},'%') 在 WebsiteMapper 接口中,方法如下。 public List selectWebsiteByMap(Map
  • 相关阅读:
    Vue3-基础入门
    需要复制的demo
    redis工具类
    新一代爬虫神器puppeteer介绍
    DPDK中Ring的优先级反转问题
    一种有效的并行进化元启发法及其在三个优化问题中的应用
    python openpyxl excel库
    RocketMQ 系列(四) 消息存储
    Qt 渗透测试 | 【Goby】自动化漏洞扫描工具介绍、下载、使用、功能
    角速度变化时四元数和旋转矩阵微分方程的证明
  • 原文地址:https://blog.csdn.net/m0_54850604/article/details/126291706