JDBC与Mybatis框架相比有何不足?
1.数据库连接的频繁创建浪费系统的性能.
2.sql语句写在了配置文件中与Java分离,便于维护.
3.不需要再对结果集进行遍历解析,框架直接将结果封装成pojo对象.
4.解决sql语句传参麻烦,Mybatis自动将对象映射进sql语句中.
Mybatis编程的步骤是什么?
1.创建SqlSessionFactory工厂(Mybatis工厂)
2.通过工厂创建SqlSession.
3.SqlSession执行数据库操作.
4.Session.commit()提交事务.
5.Session.close()关闭会话.
Mybatis与hibernater有哪些不同?
1.Mybatis不完全是一个ORM框架.因为Mybatis需要程序员自己编写Sql语句,不过Mybatis可以通过XML或注解的方式灵活运用sql语句.
2.Hibernate是完全的ORM框架,映射能力强,可以直接根据你的对象生成数据库表,提高了开发效率.
使用MyBatis的mapper接口调用时有哪些要求?
① Mapper接口方法名和mapper.xml中定义的每个sql的id相同
② Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
③ Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
④ Mapper.xml文件中的namespace即是mapper接口的类路径。
简单的说一下MyBatis的一级缓存和二级缓存?
Mybatis首先去缓存中查询结果集如果没有就查询数据库.Mybatis内部存储缓存使用一个HashMap,key为hashCod+Sqlid+SQL语句 ,value为映射出来的对象.
Mybatis的二级缓存即查询缓存,它的作用域是一个mapper的namespace,即在同一个namespace中查询sql可以从缓存中获取数据。二级缓存是可以跨SqlSession的。