mybatis是一个优秀的基于Java持久层框架,内部它是封装了JDBC,让开发者不用过多的关心什么创建连接、加载驱动啊等等。如今大企业越来越多用mybatis,为什么它越来越被广泛应用,以前流行的SSH框架开发,而现在完全势向于SSM框架开发,今天讲解mybatis框架常见面试题。
IT行业的程序员 1,mybatis是干嘛的?
答:mybatis它是基于Java的持久层框架,内部封装了JDBC的,是一个半自动化的框架,它可以通过简单的xml或者注解的方式来配置和映射原生类型、Java的POJO以及接口。
2,听说过ORM吗?
答:ORM是对象映射的,为了解决关系型数据库和简单的Java对象(POJO)的映射关系,将程序中的对象自动持久化到关系型数据库中。
面试 3,你认为JDBC缺点是什么?
答:结果处理存在着重复代码,处理相当的麻烦,sql写在代码中不好维护,频繁的创建数据库连接对象容易造成系统资源的浪费。
4,mybatis是如何解决JDBC存在的问题?
答:比mybatis将sql语句配置在一个xml文件中与Java代码分离,这样利于维护,还有mybatis将自动封装Java对象映射到sql语句。
mybatis框架的设计原理 5,mybatis框架合适在什么场景使用?缺点是?
答:比如项目需求比较多的,而且对性能要求相对较低的项目,合适选择mybatis框架,mybatis框架本省主要专注sql语句,要求程序员只关注sql语句。缺点:sql的语句量大,程序员对sql的基本功要扎实。
6,请你说一下mybatis有哪些动态SQL以及动态的SQL有什么用?
答:动态sql标签有9种,tirm、where、set、foreach、when、bind、otherwise、if、choose(大家可以说几种作为代表就可以啦),动态的sql的好处就是可以在xml映射文件中以标签的形式写动态的sql语句。
AI 7,动态SQL的执行原理?
答:动态SQL执行原理是根据表达的值完成逻辑判断后会动态的拼接SQL功能。
8,实现一对多有那几种方式?它是怎么操作的?
答:有两种方式:联合查询、嵌套查询两个方式。嵌套查询它是先查一个表,然后根据这个表里的外键ID,再去另一个表里查询数据。联合查询它是通过几个表一起联合查询的,只查询一次。
IT互联网 9,如何证明一级缓存和二级缓的存在?
答:一级缓存就是sqlSession级别的缓存,只要sqlSession没有flush或者close时它就存在。二级缓存就是Mapper映射级别的缓存,同时多个sqlSesseion去操作一个Mapper映射的sql语句,多个sqlSession可以共用二级缓存,还有就是二级缓存时跨sqlSession的。欢迎大家关注,下期见。