目录
1. SQL注入
2.concat()用于like模糊查询
3.resultMap
4.
5.动态SQL
6.foreach标签
1. SQL注入
$问题会导致SQL注入
因为$是直接替换的,and的优先级高于or
true or false
#不存在SQL注入的问题,因为他是预编译的,他先把#{ }的内容替换为?占位符然后把这个占位符替换掉,MySQL认为它不是关键字,而是值
一个是直接替换,一个是把他当作值处理了
2.concat()用于like模糊查询
concat是MySQL中的方法
3.resultMap
作用
1.我们知道resultType要求java属性和数据库字段保持一致,如果不一致的话就不能查 询。使用resultMap可以解决这个不一致的问题
2.一对一和一对多关系可以使用resultMap映射并查询数据
如果数据库的column和对象的property名字不一致还可以把SQL语句重命名(使用的比较多)
4.
对该类的实例的打印只会打印username,不会打印它父类的属性@Date注解的缺点
当Lombok提供toString用户还重写toString的话优先调用用户写的
实体 类需要写Serializable接口 可序列化
5.动态SQL
if标签
<if test="xxx!=null">
xxx,
</if>
文章来源:https://www.toymoban.com/news/detail-471481.html
trim标签
<trim pre suf ><trim>
suffixOverrides","表示把尾部的,去掉
where标签
Where标签自动去除最前面的and 不用再trim去除了,一定配合if使用
如果where标签无内容,则不会生成sql关键字where
set标签
set是去掉最后的一个,的
set是update更新的
6.foreach标签
批量的(操作)删除
文章来源地址https://www.toymoban.com/news/detail-471481.html
到了这里,关于JavaEE进阶(Mybatis)5/31的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!