前面讲了springmvc和hibernate的一些原理和使用,有些朋友私信我问能不能讲一下面试中经常遇到的问题,那么今天就不讲mybatis在项目中怎么使用的,着重谈一下我经常遇到的一些问题吧,无论是笔试题还是面试官问到的一些问题,能想起来的都列举了下来。
1.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?
①数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库链接池可解决此问题。
解决:在SqlMapConfig.xml中配置数据链接池,使用连接池管理数据库链接。
②Sql语句写在代码中造成代码不易维护,实际应用sql变化的可能较大,sql变动需要改变java代码。
解决:将Sql语句配置在XXXXmapper.xml文件中与java代码分离。
③向sql语句传参数麻烦,因为sql语句的where条件不一定,可能多也可能少,占位符需要和参数一一对应。
解决:Mybatis自动将java对象映射至sql语句。
④对结果集解析麻烦,sql变化导致解析代码变化,且解析前需要遍历,如果能将数据库记录封装成pojo对象解析比较方便。
解决:Mybatis自动将sql执行结果映射至java对象。
2.MyBatis编程步骤是什么样的?
①创建SqlSessionFactory
②通过SqlSessionFactory创建SqlSession
③通过sqlsession执行数据库操作
④调用session.