1.Mybatis框架的理解(了解)


  • Mybatis 是持久层框架 ,一个半ORM(对象关系映射)框架,支持定制化SQL、储存过程以及高级映射。避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的POJO 为数据库中的记录

    2.mybatis中,${} 和 #{} 的区别(必)


  • {} 占位符,用于传递参数 预编译 不需要关注数据类型

  • ${} 用于SQL 语句的拼接 直接拼接 需要关心,因为不做类型转换
  • 使用#{} 可以有效的防止SQL 注入,提高系统安全性

    3.resultType和ResultMap 的区别


  • resultType:数据库结果集中的列名 和 要封装实体的属性名 完全一致
  • resultMap :数据库结果集中的列名 和 要封装实体的属性名 不一致,通过resultMap 手动建立对象关系映射,配置 表 和 类 的 对应关系, 数据库中的字段名和实体类属性名不一致也可

    4.动态sql 的标签 及 作用


: 判断传入的值 是否符合某种规则 ——是否为空等
: 可用来做动态拼接查询条件,可与 if 标签配合使用
: 可将传入的集合对象遍历,将每一项内容作为参数传入sql语句中
: 可将重复的代码整理在一起,使用时,减少重复代码的编写
: 适用于更新中,匹配某个条件后,才会对字段进行更新

5.mybatis缓存机制的理解


Mybatis有两级缓存: 一级缓存 : SqlSession 级别,默认开启,无法关闭;
二级缓存 :MApper 级别, 默认是没开启,可手动开启