加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 运营中心 > 交互 > 正文

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

发布时间:2020-12-24 13:54:44 所属栏目:交互 来源:网络整理
导读: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" } } }

?

热点阅读