![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
文章平均质量分 87
黄泥川水猴子
焦虑没有用,得学习
展开
-
详细分析一下 #{}和${}的区别是什么
正确的答案是:#{}是预编译处理,${}是字符串替换。(1)mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值。(2)mybatis在处理时,就是把{}时,就是把时,就是把{}替换成变量的值。(3)使用#{}可以有效的防止SQL注入,提高系统安全性。原因在于:预编译机制。预编译完成之后,SQL的结构已经固定,即便用户输入非法参数,也不会对SQL的结构产生影响,从而避免了潜在的安全风险。(4)预编译是提前对SQL语句进行预编译,而其后原创 2022-05-13 17:35:54 · 5927 阅读 · 0 评论 -
Mybatis 一级缓存
缓存的概念什么是缓存存在于内存中的临时数据。为什么使用缓存减少和数据库的交互次数,提高执行效率。(因为查询数据库是一件很费时很费效率的事,还涉及一些硬盘等io操作,而缓存是存在内存中的,读取都很快,而且效率高)什么样的数据能使用缓存,什么样的数据不能使用适用于缓存经常查询并且不经常改变的。数据的正确与否对最终结果影响不大的。不适用于缓存经常改变的数据数据的正确与否对最终结果影响很大的。例如:商品的库存,银行的汇率,股市的牌价。什么是一级缓存mybatis 默认情况下只会开启一原创 2022-05-13 15:15:27 · 1903 阅读 · 0 评论