面试-框架-mybatis

1、mybatis的编程步骤?
创建sqlSessionFactory
通过sqlSessionFactory创建SqlSession
sqlSession执行数据库操作
调用session.commit()提交事务
调用session.close()关闭会话

2、jdbc有哪些不足之处,mybatis是如何解决的?
数据库频繁的创建和释放影响性能
解决:在SqlMapConfig.xml中配置数据连接池,管理数据库连接

sql语句写在代码中不易维护,实际应用中sql的变化很大
解决:将sql语句中配置在xml文件中与java代码分离

向sql语句中传参麻烦,where的条件不一定或多或少,占位符要与参数对应
解决:Mybatis自动将java对象映射到sql中

对结果集解析麻烦,sql变化对结果也有变化
解决:Mybatis自动将sql执行结果映射到java对象

3、mybatis的一级缓存、二级缓存
一级缓存:mysql内部缓存存储是一个hashMap,key是hashcode+sqlId+sql,value为查询出来的对象
二级缓存:作用域是一个mapper的namespace,即一个namespace中查询sql可以从缓存中获取数据,可以跨sqlsession

你可能感兴趣的:(面试总结)