面试---mybatis框架知识点

一:是什么

myabtis是一个支持普通sql查询,存储过程和高级优秀映射的优秀持久城框架,去除了所有jdbc代码和参数的手工设置以及对结果集的检索封装。mybatis可以使用xml或者注解进行配制和原始映射。其主要思想是将程序中的大量的sql语句剥离出来,将sql代码与语句分离,可以不修改代码,直接在配置文件修改sql。

二与hibernate的区别

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将java对象与数据库表建立映射关系,是一个全自动的orm框架。Hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

MyBatis:机械工具,使用方便,拿来就用,但工作还是要自己来作,不过工具是活的,怎么使由我决定。(小巧、方便、高效、简单、直接、半自动)

Hibernate:智能机器人,但研发它(学习、熟练度)的成本很高,工作都可以摆脱他了,但仅限于它能做的事。(强大、方便、高效、复杂、绕弯子、全自动)
原文:https://blog.csdn.net/eff666/article/details/71332386 

--------------------- 

三:

动态代理开发四个原则:

(1)接口中方法名与Mapper中的id一致。

(2)namespace与接口中类的路径一致

(3)输入参数与/mapper中入参数

(4)返回值与Mapper中的ResultType一致,。

四:

mapper配置:

五:命名空间(Namespaces现在命名空间则是必须的,且意于简单地用更长的完全限定名来隔离语句。命名空间使得你所见到的接口绑定成为可能,尽管你觉得这些东西未必用得上,你还是应该遵循这里的规定以防哪天你改变了主意。出于长远考虑,使用命名空间,并将它置于合适的 Java 包命名空间之下,你将拥有一份更加整洁的代码并提高了 MyBatis 的可用性。

六:在mybatis框架中,写dao层的mapper接口时,是不可以进行方法的重载的。

七:枚举类型:https://blog.csdn.net/qq_28988969/article/details/78605735

八:

mybatis初始化过程经过以下的几步:

  • 1. 调用SqlSessionFactoryBuilder对象的build(inputStream)方法;
  • 2. SqlSessionFactoryBuilder会根据输入流inputStream等信息创建XMLConfigBuilder对象;
  • 3. SqlSessionFactoryBuilder调用XMLConfigBuilder对象的parse()方法;
  • 4. XMLConfigBuilder对象解析xml配置文件返回Configuration对象;
  • 5. SqlSessionFactoryBuilder根据Configuration对象创建一个DefaultSessionFactory对象;
  • 6. SqlSessionFactoryBuilder返回 DefaultSessionFactory对象给客户端,供客户端使用。

九:缓存:https://mp.csdn.net/postedit/82856308

猜你喜欢

转载自blog.csdn.net/lettyisme/article/details/85003567
今日推荐