加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 交互 > 正文

Mybatis常考面试题汇总(附答案)

发布时间:2020-12-24 14:21:15 所属栏目:交互 来源:网络整理
导读:副标题#e# 1、#{}和${} 的区别是什么? #{}和${}的区别是什么? 在Mybatis中,有两种占位符 #{} 解析传递进来的参数数据 ${}对传递进来的参数原样拼接在SQL中 #{} 是预编译处理,${}是字符串替换。 使用#{}可以有效的防止SQL注入,提高系统安全性。 2、当实
副标题[/!--empirenews.page--]

1、#{}和${}的区别是什么?

#{}和${}的区别是什么?

在Mybatis中,有两种占位符

  • #{}解析传递进来的参数数据
  • ${}对传递进来的参数原样拼接在SQL中
  • #{}是预编译处理,${}是字符串替换。
  • 使用#{}可以有效的防止SQL注入,提高系统安全性。

2、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?

当实体类中的属性名和表中的字段名不一样 ,怎么办 ?

第1种: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致

第2种: 通过来映射字段名和实体类属性名的一一对应的关系

  • @param注解方式
}

?

?

第二种:使用Map集合作为参数来装载

Map map = map.put("start" map.put("end" sqlSession.selectList("StudentID.pagination" } } }

?

热点阅读