首页 / MYSQL / mybatis模糊查询的实现方法
mybatis模糊查询的实现方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mybatis模糊查询的实现方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1783字,纯文字阅读大概需要3分钟。
内容图文
![mybatis模糊查询的实现方法](/upload/InfoBanner/zyjiaocheng/583/b5545edfae434d75b2e1044a4d5c2113.jpg)
mybatis 模糊查询的实现方法
mybatis的逆向助手确实好用,可以省去很多编写常规sql语句的时间,但是它没办法自动生成模糊查询语句,但开发中模糊查询是必不可少的,所以,需要手动对mapper编写模糊查询功能。
这里先明确MyBatis/Ibatis中#和$的区别:
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by “111”, 如果传入的值是id,则解析成的sql为order by “id”.
2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为order by id.
3. #方式能够很大程度防止sql注入。
4. $方式无法防止Sql注入。
5. $方式一般用于传入数据库对象,例如传入表名.
6. 一般能用#的就别用$.
ps:在使用mybatis中还遇到<![CDATA[]]>的用法,在该符号内的语句,将不会被当成字符串来处理,而是直接当成sql语句,比如要执行一个存储过程。
我们的需求是对一个User进行模糊查询,思路是对所有基本字段(username,gender等)都跟传入的key(关键字)进行比较。
1、对UserMapper.xml编码
<select id="queryUserByKey" parameterType="string" resultType="com.lqr.pojo.User"> select * from user where uid like CONCAT('%',#{key},'%') or username like CONCAT('%',#{key},'%') or realname like CONCAT('%',#{key},'%') or identification like CONCAT('%',#{key},'%') or email like CONCAT('%',#{key},'%') </select>
2、对UserMapper.java编码
List<User> queryUserByKey(String key);
以上是本人在开发中遇到的情景,往后有其他mybatis模糊查询的使用再继续记录。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
- MyBatis实现模糊查询的几种方式
- 利用MyBatis进行不同条件的like模糊查询的方法
- MyBatis实现动态查询、模糊查询功能
- mybatis分页及模糊查询功能实现
- MyBatis中的模糊查询语句
- Mybatis中的like模糊查询功能
- Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办
- 详解MyBatis模糊查询LIKE的三种方式
内容总结
以上是互联网集市为您收集整理的mybatis模糊查询的实现方法全部内容,希望文章能够帮你解决mybatis模糊查询的实现方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。