在 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 标签中常用的属性。

传递多个参数
现在需要根据 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

MyBatis select标签相关推荐

  1. mybatis常用标签和动态查询

    这里是修真院后端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析后端知识/技能,本篇分享的是: [mybatis ...

  2. mybatis trim标签_MyBatis学习笔记

    MyBatis开发文档: mybatis - MyBatis 3​mybatis.org mapper接口开发的四个规范: XxxMapper.xml配置文件的名称命名空间值必须是mapper接口的全 ...

  3. 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma

     1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...

  4. mybatis select count(*) 一直返回0 mysql_Mybatis教程1:MyBatis快速入门

    点击上方"Java技术前线",选择"置顶或者星标" 与你一起成长 一.Mybatis介绍 MyBatis是一个支持普通*SQL*查询,存储过程和高级映射的优秀持 ...

  5. Mybatis if标签和where标签结合巧妙使用

    本文章描述的是 Mybatis if标签和where标签的结合使用 [x1]微信公众号的每日提醒 随时随记 每日积累 随心而过 [x2]各种系列的视频教程 免费开源 关注 你不会迷路 [x3]系列文章 ...

  6. mybatis select 返回值long null_Mybatis框架(二)

    [31] 1. <typeAliases>标签 1.1 功能 用于给 java 类型定义别名, 方便在配置文件中使用. 1.2 使用方式 a) 给 User 类型定义别名为 u <! ...

  7. MyBatis 别名标签 sql的复用

    1.MyBatis 别名标签 如果在映射文件中,大量使用类名比较长,可以在sqlMapConfig.xml声明别名, 在映射文件中可以使用别名缩短配置,注意此配置要放在最前面 sqlMapConfig ...

  8. JSP自定义select标签中取值

    JSP自定义select标签的取值 select取值是通过name属性获取. 自定义标签的流程: 1.继承JSP标签的标签类TagSupport,SimpleTagSupport等,重写dostart ...

  9. mybatis的标签以及参数传递

    MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. MyBatis可以使用简单的XML或注解 ...

最新文章

  1. 阿里巴巴持续投入,etcd 正式加入 CNCF
  2. Django的路由分发与名称空间
  3. 用linux装逼-我的vim配置(不定时更新)
  4. LPTSTR、LPCSTR、LPCTSTR、LPSTR的区别
  5. 后端小白的VUE入门笔记, 前端高能慎入
  6. 每周送新书:Android软件安全、深入浅出Istio、软件架构设计
  7. 椭圆形中间一个大写的v_Shift键在 Word 中的 9 个经典操作,第一个你可能就不知道!【Word教程】...
  8. 充电器兼容qi是什么意思_什么是“经Qi认证”的无线充电器?
  9. 归并排序时间复杂度分析
  10. kindle paperwhite3 拆机越狱
  11. 网页设计与制作 项目教程 项目1
  12. U盘文件被隐藏是怎么回事?怎样恢复被隐藏文件?
  13. 黑鲨3怎么安装鸿蒙系统,黑鲨u盘重装系统步骤
  14. 固态硬盘SSD格式化后,数据恢复的可能性有多大?
  15. QQ群发消息c语言编程,简单写一个实现QQ群发功能的软件
  16. windows server 2008 64 位 上安装 postgreSQL 、 openbravo 报错解决
  17. 三级等保 mysql8.0.24密码策略设置
  18. (6)LinuxI2C驱动--I2C设备驱动
  19. 利用python-docx设置简单的word文档模板
  20. 语音数据标注工具与平台/公司

热门文章

  1. 必须用计算机吗,路由器可以不用电脑吗_路由器一定要连接电脑吗-系统城
  2. 大牛们推荐的VC++的学习网址
  3. 市场数据统计与数据分析
  4. Pytorch求索(1):pytorch与Tensorboard的结合使用
  5. 蚂蚁省电王系统软件开发
  6. 如何使说唱节奏在七个简单的步骤
  7. 支付战争的终极大决战在哪里?
  8. JSON 泛型序列化方法 与 LinkedHashMap转成对象
  9. 基于c语言的数字pid控制算法及实现,基于C语言的数字PID控制算法及实现.pdf
  10. 树莓派最轻便的图形界面连接(无网线、无路由)