mybatis 模糊查询和<![CDATA[ ]]>的作用

1. sql中字符串拼接

SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT(‘%‘, #{text}), ‘%‘);

2. 使用 ${...} 代替 #{...} (不能防止sql注入 #{}---> 可以防止sql注入的问题)

SELECT * FROM tableName WHERE name LIKE ‘%${text}%‘;

3. 程序中拼接

   Java

// or String searchText = "%" + text + "%";

String searchText = new StringBuilder("%").append(text).append("%").toString();

parameterMap.put("text", searchText);

SqlMap.xml

SELECT * FROM tableName WHERE name LIKE #{text};

<![CDATA[ ]]> 标记避免Sql中与xml规范相冲突的字符对xml映射文件的合法性造成影响

如:<![CDATA[price_from >= #{price_from}]]>

时间: 2024-10-09 20:50:37

mybatis 模糊查询和<![CDATA[ ]]>的作用的相关文章

MyBatis模糊查询like

MyBatis模糊查询like的两种使用方法 初次使用MyBatis持久层框架,进行模糊查询如like时,如果传入的map类型的参数,可以使用${}, 如果传入的不是map类型的参数, 不知道如何处理.经过研究想到了两种方法(我使用的是MySQL数据库), 如where name like concat(concat(‘%’#{name}),’%’)或者where name like “%”#{name}“%“注意:后一种方法”%”是双引号,而不是单引号 where bo.name like c

MyBatis模糊查询相关

Mybatis模糊查询的实现不难,如下实例:在UserMapper.xml中根据用户名模糊查询用户: <!-- 模糊查询用户 --> <select id="findSomeUser" resultMap="userResultMap" parameterType="java.lang.String"> SELECT * FROM user WHERE username LIKE CONCAT('%',#{value},'

MyBatis模糊查询异常: &#39;%${}&#39;&#39;读取jdbc属性

'%${}''不能传参,总是固定为root, 后来发现${username}是读取了jdbc里面的属性username,于是将jdbc属性名修改于是成功 MyBatis模糊查询异常: '%${}''读取jdbc属性 原文地址:https://www.cnblogs.com/ltfxy/p/10409883.html

MyBatis模糊查询和多条件查询

MyBatis模糊查询和多条件查询 一.ISmbmsUserDao层 //根据姓名模糊查询 public List<Smbms> getUser(); //多条件查询 public List<Smbms> getLikeUser(@Param("userName") String userName , @Param("userCode") String userCode ); 二.小配置文件 ISmbmsUserDao.xml <!--

mybatis 模糊查询特殊字符的处理

/** * 把模糊查询的检索的关键字对特殊字符进行转换如"["."%" * @param str * 需要转换的字符串 * @return 返回模糊查询的字符串 */ public static String ToLikeStr(String str) { if(str != null && str.length()>0) { str =str.trim().replace("\\", "\\\\%").

Mybatis模糊查询MySQL中记录的的常用三种方法

mybatis的模糊查询功能使用的很广泛,以MySQL数据库为例(不同的数据库,有些可能不支持) 常用的模糊查询有三种方法: 直接使用 % 拼接字符串,如 '%'#{name}'%' 或 "%"#{name}"%",单引号或双引号都可以. 使用concat(str1,str2)函数拼接 使用mybatis的bind标签 现在有数据库mybatis1中表users中有如下记录: User [id=2, name=bb, phone=13422222222, [emai

mybatis模糊查询sql

今天下午做的一个功能,要用到模糊查询,字段是description,刚开始我的写法用的是sql中的模糊查询语句, 但是这个有问题,只有将字段的全部值传入其中,才能查询,所以不是迷糊查询. 后来经过搜索,发现要加上一个concat字段,要先将字符串拼接后,才能实现模糊查询. 改成这个样子后,模糊查询功能实现. 在我搜索到的博客中海油别的几种写法,但是试验了两个,有一个成功,另外一个没能实现模糊查询,但是目前还不知道错误在哪里.如果有人知道,请赐教. 他的博客地址是:http://blog.sina

mybatis模糊查询(转载)

原文地址:http://blog.csdn.net/luqin1988/article/details/7865643 模糊查询: 工作中用到,写三种用法吧,第四种为大小写匹配查询 1. sql中字符串拼接 SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%'); 2. 使用 ${...} 代替 #{...} SELECT * FROM tableName WHERE name LIKE '%${text

mybatis 模糊查询 like的三种方式

第一种 public void selectBykeyWord(String keyword) { String id = "%" + keyword + "%"; String roleType = "%" + keyword + "%"; String roleName = "%" + keyword + "%"; userDao.selectBykeyWord(id,roleNam