Mybatis动态SQL及单表多表查询怎么应用


本文小编为大家详细介绍“Mybatis动态SQL及单表多表查询怎么应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mybatis动态SQL及单表多表查询怎么应用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。#{}:相当于JDBC里面替换占位符的操作方式(#{}->“”).相当于预编译处理(预编译处理可以防止SQL注入问题)${}:相当于直接替换(desc这种关键字),但这种不能预防SQL注入${} VS #{}${}是直接替换,#{}是预执行;${} 会存在SQL 注入问题,#{}不存在SQL注入问题mysql> select * from userinfo where username = ‘admin’ and password =” or 免费云主机域名1=’1′;
+—-+———-+———-+——-+———————+———————+——-+
| id | username | password | photo | createtime | updatetime | state |
+—-+———-+———-+——-+———————+———————+——-+
| 1 | admin | admin | | 2021-12-06 17:10:48 | 2021-12-06 17:10:48 | 1 |
+—-+———-+———-+——-+———————+———————+——-+
1 row in set (0.00 sec)用concat进行字符串拼接一对一的多表查询:需要设置resultMap中有个association标签,property对应实体类的属性名,resultMap是关联属性的字典映射(必须要设置),columnPrefix是设置前缀,当多表查询中有相同的字段的话,就会报错collection标签,用法同association注册分为必填和选填,如果在添加用户的时候有不确定的字段传入,就需要使用动态标签if来判断trim标签的属性prefix:表示整个语句块,以prefix的值作为前缀suffix:表示整个语句块,以suffix的值作为后缀prefixOverrides:去掉最前面的符合条件的字符suffixOverrides:去掉最后面的符合条件的字符where标签首先可以帮助我们生成where,如果有查询条件,那么就生成where,如果没有查询条件,就会忽略where其次where标签可以判断第一个查询条件前面有没有and,如果有则会删除和where的使用基本一样可以自动帮助你处理最后一个逗号,并且自动写setforeach属性:collection:参数集合的名字item:给接下来要遍历的集合起的名字open:加的前缀是什么close:加的后缀是什么separator:每次遍历之间间隔的字符串读到这里,这篇“Mybatis动态SQL及单表多表查询怎么应用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: Laravel模型事件如何使用

这篇“Laravel模型事件如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Laravel模型事件如何使用”文章吧。我们的第一种方法使用模…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 03/13 12:15
Next 03/13 12:16

相关推荐