1.在mybatis中,书写sql,有时候会有一些不细心,如:

  1. <!-- 首页商品 关键字搜索-->
  2. <select id="getGoodsByLikeTitle" resultMap="BaseResultMap">
  3. SELECT
  4. <!-- 详情 -->
  5. gd.pay_price,
  6. gd.id,
  7. gd.couponamount,
  8. gd.sale_point,
  9. gd.earn_point,
  10. gd.stock_quantity,
  11. gd.site_id,
  12. gd.vip_level,
  13. <!-- 商品 -->
  14. g.id AS 'goodId',
  15. g.title AS 'goodTitle',
  16. g.img_url AS 'goodImgUrl',
  17. g.sale_price AS 'goodSalePrice',
  18. g.sale_count AS 'goodSaleCount',
  19. g.link_url AS 'goodLinkUrl',
  20. g.tags AS 'goodTags',
  21. g.summary AS 'goodSummary',
  22. g.series_no AS 'goodSeriesNo',
  23. g.spec_desc AS 'goodSpecDesc',
  24. g.weight AS 'goodWeight',
  25. g.add_time AS 'goodAddTime'
  26. FROM goods_detail AS gd
  27. INNER JOIN goods AS g
  28. ON gd.goods_id=g.id
  29. WHERE g.satus=1
  30. AND gd.site_id=#{siteId}
  31. AND g.title like CONCAT('%',#{wkeyword},'%')
  32. ORDER BY g.add_time DESC
  33. </select>

如果上述中的sql like 后面用的是'%${wkeyword}%',看似没有错,但你在调用时输入“ ` ”引号间的符号,sql 就无法识别,即会报错。如果用CONCAT('%',#{wkeyword},'%') 来替代'%${wkeyword}%',则万事大吉。具体这个是怎样一个原理不是太清楚,看了很多文档都说是#{}与${}的不同,自己积累一下,避免后期遇到。

Mybatis 中在xxx.mapper书写模糊查询的更多相关文章

  1. django中多个字段的模糊查询

    django中多个字段的模糊查询 使用Entity.objects.filter(name_contains='kris').filter(address='beijing') 这个方法是指名字包含k ...

  2. 在JDBC中实现SQL语句的模糊查询

    在JDBC中实现SQL语句的模糊查询 在大多数情况下我们可以在JDBC中写入sql语句通过占位符的方式来直接查询,但是如果要进行模糊查询,需要转义字符才能够正常查询. sql语句: select * ...

  3. neo4j中cypher语句多个模糊查询

    总结一下经验: neo4j中,cypher语句的模糊查询,好像是个正则表达式结构. 对于一个属性的多个模糊查询,可以使用如下写法: 比如,查询N类型中,属性attr包含'a1'或者'a2'的所有节点. ...

  4. SSM框架mapper.xml模糊查询语句

    SSM框架mapper.xml模糊查询语句 在用SSM框架时,如果想要实现模糊查询,可以在mapper.xml文件中进行数据库语句的书写,方法有很多种,在这里我选择了两种介绍: 方法1: <se ...

  5. MyBatis Plus 实现多表分页模糊查询

    项目中使用springboot+mybatis-plus来实现. 但是之前处理的时候都是一个功能,比如分页查询,条件查询,模糊查询. 这次将这个几个功能合起来就有点头疼,写下这边博客来记录自己碰到的问 ...

  6. MyBatis中映射器Mapper概述

    MyBatis真正强大之处在于它的映射器.因为它异常强大并且编写相对简单,不仅比传统编写SQL语句做的更好并且能节省将近95%的代码量 XML中顶级元素汇总 cache: 给定命名空间的缓存配置 ca ...

  7. Java框架之MyBatis 06-全局配置-mapper映射-分步查询

    MyBatis MyBatis是Apache的一个开源项目iBatis, iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架. iBatis  提供的持 ...

  8. iBatis 中 Like 的写法实现模糊查询

    iBatis 开发指南告诉我们,当 Person 对象的 name 属性不为 null 时启用 name 查询条件在映射文件 person.xml 中的配置为 <select id=" ...

  9. python中的mysql数据库like模糊查询

    %在python中是个特殊的符号,如%s,%d分别代表了字符串占位符和数字占位符. 大家知道,mysql的模糊查询也需要用到%. 所以,可以先把需要查的字符串抽出来,再以参数方式传入. args = ...

随机推荐

  1. [USACO13OPEN]照片Photo 题解

    题面 这道题似乎可以用单调队列优化DP做,但这里讲的是一种差分约束的思路; 设s[i]表示1~i中选了多少个: s[b[i]]-s[a[i]-1]<=1; s[b[i]]-s[a[i]-1]&g ...

  2. BZOJ 1257 余数之和 题解

    题面 这道题是一道整除分块的模板题: 首先,知道分块的人应该知道,n/i最多有2*sqrt(n)种数,但这和余数有什么关系呢? 注意,只要n/i的值和n/(i+d)的值一样,那么n%i到n%(i+d) ...

  3. springboot在集成mybatis的时候老是报错 The server time zone value '�й���׼ʱ��' is unrecognized

    我已经解决了,感谢万能网友. 解决办法参见:https://blog.csdn.net/yunfeng482/article/details/86698133

  4. 国内高速下载Docker

    一般情况下,我们可以从Docker官网下载docker安装文件,但是官方网站由于众所周知的原因,不是访问慢,就是下载慢.下载docker安装包动不动就要个把小时,真是极大的影响工作效率. 在这里推荐一 ...

  5. ubuntu apache https设置

    上篇文章已经描述过怎么生成证书,点击这里,直接写怎么设置 1.apache加载ssl模块, # a2enmod ssl 2.启动ssl站点 #a2ensite default-ssl 3.加入监听端口 ...

  6. AT&T推出云5G网络开源工具Airship

    导读 AT&T新推出的云5G网络依赖于一个名为“Airship”的开源供应工具,该工具在周一发布了第一个版本. AT&T负责网络云的副总裁Amy Wheelus告诉LightReadi ...

  7. Vue基础第二章

    1.数据绑定与数据声明 Vue中的数据绑定就是让与Vue实例绑定的DOM节点或script标签内的变量之间数据更新互相影响,即数据绑定后Vue实例的数据修改会使DOM节点的数据或者script标签内的 ...

  8. AngularJs 简单实现全选,多选操作(转)

    代码如下: HTML: <section> <pre>{{choseArr}}</pre> 全选: <input type="checkbox&qu ...

  9. 基于element ui 实现七牛云自定义key上传文件,并监听更新上传进度

    借助上传Upload 上传组件的 http-request 覆盖默认的上传行为,可以自定义上传的实现 <el-upload multiple ref="sliderUpload&quo ...

  10. webpack 搭建React(手动搭建)

    前言 最近真的都是在瞎学,看到自己不是很明白的东西,都喜欢自己手动去敲1到3遍(晚上下班的时候咯), 瞧,React  基于webpack 搭建,react 官方有一套手脚架工具,我自己也搭建过确实挺 ...