MyBatis 学习笔记
文章平均质量分 83
MyBatis 学习笔记
TheManba
You can do anything you want to, if you really want it.
展开
-
04. 动态 SQL
不拼 1 = 1 的话,当没有传递 title 参数的时候,SQL 语句变为 select * from blog where and author = ‘‘zk’’,执行会报错。如果 where 元素与你期望的不太一样,你也可以通过自定义 trim 元素来定制 where 元素的功能。当 author 条件不满足时,set 语句会自动拼接 title 条件,并去掉 title 条件后面的逗号。set 元素可以用于动态包含需要更新的列,忽略其它不更新的列。(这些逗号是在使用条件语句给列赋值时引入的)。原创 2024-05-22 23:22:05 · 857 阅读 · 0 评论 -
03. 一对多、多对一的处理
比如一个老师拥有多个学生。查询所有学生的信息,以及对应的老师的信息。原创 2024-05-22 23:20:35 · 415 阅读 · 0 评论 -
02. MyBatis<foreach>标签的用法
这里举例使用 foreach 遍历 map。使用 foreach 遍历 map 时,foreach 标签中的参数 index 表示的就是 map 的 key,item 就是 map 的 Value。foreach 可以在 SQL 语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。类型,可以直接以字符串类型作为入参,而不用传入一个 List。原创 2024-04-16 21:27:35 · 959 阅读 · 0 评论 -
01. MyBatis中 #{} 和 ${} 区别
在使用 SQL 语句进行数据库操作时,如果对入参没有校验,那么攻击者就可以构造特殊的 SQL 语句,直接获取或修改数据库中的数据。例如,我们有一个需求,给定了一个用户的姓名和密码,要求从用户表(user)中查询出该用户的信息。如果我们使用${}的方式实现,即我们正常传入一组数据:username=“pual”、password=“123456” 当然不会有问题。原创 2024-03-17 09:41:12 · 577 阅读 · 0 评论