DB面试题目

MyBatis 面试题

1、什么是 Mybatis?
答:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录
2、Mybaits 的优点:
3、MyBatis 框架的缺点:
答:框架比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询还得自己写,工作量大,不易修改。二级缓存机制不佳。sql语句依赖数据库,导致数据库移植性差,不能随意更换数据库。
4、MyBatis 框架适用场合:
答: MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。对性能的要求很高,或者 需求变化较多的项目,如互联网项目,MyBatis将 是不错的选择

5、MyBatis 与 Hibernate 有哪些不同?

  • Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句。

    
  • Mybatis直接编写原生态sql,可以严格控制sql执行性能,灵活度高,非常适合对关系数据模型要求不高的软件开发,因为这类软件需求变化频繁,但需求变化要求迅速输出成果。但是灵活的前提是mybatis无法做到数据库无关性,如果需要实现支持多种数据库的软件,则需要自定义多套sql映射文件,工作量大。

     
  • Hibernate对象/关系映射能力强,数据库无关性好,对于关系模型要求高的软件,如果用hibernate开发可以节省很多代码,提高效率



6、#{}和${}的区别是什么?
7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?
8、 模糊查询 like 语句该怎么写?
9、通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗?


 

posted @ 2022-11-21 19:24  NingShare  阅读(72)  评论(0编辑  收藏  举报