mybatis
皓月之明
Talk with other programmers;
展开
-
mybatis中#和$的区别
#{} 和 ${} 的区别(1)#{} 为参数占位符 ?,即sql 预编译;${} 为字符串替换,即 sql 拼接(2)#{}:动态解析 -> 预编译 -> 执行;${}:动态解析 -> 编译 -> 执行(3)#{} 的变量替换是在DBMS 中;${} 的变量替换是在 DBMS 外(4)变量替换后,#{} 对应的变量自动加上单引号;变量替换后,${} 对应的变量不会加上单引号(5);#{} 能防止sql 注入;${} 不能防止sql 注入二、#{} 和 ${} 在使.转载 2021-07-24 22:44:27 · 184 阅读 · 0 评论 -
mybatis返回HashMap结果类型与映射
<!-- 高级结果映射 --> <!-- 一对一关联 嵌套查询 应用select属性 1)id="selectBlogAndRelatedAuthor" 中的 blog_author_id 对应到 <association property="author" column="blog_author_id"/>中的c...转载 2019-01-07 16:03:20 · 3692 阅读 · 0 评论 -
MyBatis延迟加载特性解析
一、什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。延迟加载:先从单表查询、需要时再从关联表去关...原创 2019-01-09 10:24:19 · 132 阅读 · 0 评论