![](https://img-blog.csdnimg.cn/20210723114157827.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
myBatis
磊疯
前车之鉴,后车之师
展开
-
badSQL,myBatis中#$区别
badSQL,myBatis中#$区别在这里插入代码片#{}是预编译处理, $ {}是字符串替换。mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;mybatis在处理 $ {}时,就是把 $ {}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安全性。对于这个题目我感觉要抓住两点:(1)$ 符号一般用来当作占...转载 2018-12-18 09:18:16 · 277 阅读 · 0 评论 -
${}、#{}的区别。Mybatis动态调用表名和字段名(转)
动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态sql进行处理。下面让我们先来熟悉下mybatis里#{}与${}的用法。在动态sql解析过程,#{}与${}的效果是不一样的:#{ } 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符。如以下s...转载 2019-07-18 17:24:17 · 982 阅读 · 0 评论 -
mybatis sum(参数) 列名作为参数
项目中有很多个字段,当字段为空的时候,求该列的平均值并赋值给该字段。如:idnameage当我需要插入一条数据的时候,这条数据的age为空,那么需要先从数据库查询age的平均值,然后赋值给当前的数据。当字段很多的时候就需要列名作为参数查询了mapper.xml <select id="getGtAvg" parameterType="java.lang...原创 2019-07-18 17:25:55 · 6766 阅读 · 0 评论