美文网首页SSM
mybatis面试知识点总结

mybatis面试知识点总结

作者: 落云和枫 | 来源:发表于2019-03-22 09:13 被阅读0次

MyBatis 是支持定制化SQL,存储过程以及高级映射的优秀的持久层框架,

MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解(实体和数据库的映射可以在XML中间中,也可以使用注解),将接口和Java的POJOs(Plain Old Java Objects,普通的java对象)映射成数据库中的记录。

一 、MyBatis框架的优点;

    1. 与JDBC 相比,减少了50%以上的代码量

    2. MyBatis 是最简单的持久层框架,小巧并且简单易学。

    3. MyBatis 灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,可重用。

    4  提供XML 标签,支持编写动态SQL语句(XML中使用if,else)。

    5. 提供映射标签,支持对象与数据库的ORM字段关系映射(在xml中配置映射关系,也可以使用注解

二、MyBatis框架的缺点:

    1. SQL语句的编写工作量较大,尤其是字段多,关联表多时,更是如此,对开发人员编写SQL语句的功底有一定要求。

    2. SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。

三 、MyBatis框架适用场合:

    MyBatis专注于Sql本身,是一个灵活的Dao层解决方案。

    对性能要求很高,或者需求变化较多的项目,如互联网项目,MyBatis将是不错的选择。


四、#{ } 和 ${ }的区别是什么?

    ${ }是Properties文件的变量占位符,他可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver

    #{ } 是sql的参数占位符,MyBatis会将sql中的#{ }替换为?,在sql执行前会使用PreParedStatementde 的参数设置方法,按序给sql的的?号占位符设置参数值。

五 ResultType和ResultMap的区别

resultMap:主要用于封装已经在其他mybatis的配置文件中已经映射了resultMap的id名称,mybatis会自动根据map中的key去对应映射文件的column属性,直至全部对应完成。

resultType:主要用于封装在JDK中已经存在了的数据类型,例如Map,String,int等,但是注意了。当你需要返回对象的List集合时,需要使用的是ResultMap并将其值设置为你想要存在List中的已经被xml文件映射了的对象。

myBatis在使用select标签查询之后的结果默认是用Map来封装的。其中key是字段名,value是值。所以当你想要直接返回该表的部分字段的时候,你就需要将resultType设置成为HashMap。

六、parameterType 输入参数

       resulType:返回参数

        resultMap 当涉及配置映射关系是 resultMap的名称

七 映射关系

    1. 一对一映射:javaType

<association property="subject"javaType="Subject">

    <id column="sub_id"property="subId"/>

    <result column="sub_type"property="subType"/>

    <result column="sub_time"property="subTime"/>

</association>


2. 一对多映射:ofType

<collection property="classInfoList"ofType="ClassInfo">

    <id    property="classId"column="class_id"/>

    <result property="teaTime"column="tea_time"/>

    <result property="classSess"column="class_sess"/>

    <result property="classHour"column="class_hour"/>

3. 

相关文章

  • 全网已破千万点击!MyBatis源码:配置、映射文件SQL执行过

    本篇MYBAITS灵魂知识点总结 MYBATIS的实现原理 MYBATIS的映射文件 MYBATIS的动态SQL ...

  • mybatis面试知识点总结

    MyBatis 是支持定制化SQL,存储过程以及高级映射的优秀的持久层框架, MyBatis避免了几乎所有的JDB...

  • 2020年最新MyBatis面试题,看这篇就足够了

    MyBatis作为Java火热的框架,如果去面试的话,一定会被问到,所以这里总结MyBatis常见的面试题。下面的...

  • 求职准备

    1:知识点总结 2:项目总结 3:常见面试问题总结 4:公司筛选 5:安排面试行程 6:面试!!!

  • mybatis面试题

    转自Mybatis常见面试题总结 - a745233700的博客 - CSDN博客1、什么是Mybatis? (1...

  • 后端面试-总结(java)

    最近在准备面试,对于面试总结了一套自己的知识点,在这里大概罗列一下,后面会分别按照不同的知识点专门总结。 1.面试...

  • 前端校招面试总结

    感觉抱着通过面试来发现自己的不足和不断成长的心态,面了好多公司,来做个面试总结吧。 面试知识点总结 遇到的面试,大...

  • 操作系统面试重难点总结

    针对操作系统,根据面试重难点总结以及网络上的一些参考,对操作系统面试知识点的总结与学习。 一、操作系统知识点图谱 ...

  • 操作系统面试重难点总结

    针对操作系统,根据面试重难点总结以及网络上的一些参考,对操作系统面试知识点的总结与学习。 一、操作系统知识点图谱 ...

  • MyBatis知识点总结

    配置(mybatis-config.xml)properties属性setting设置设置加载策略 直接加载 侵入...

网友评论

    本文标题:mybatis面试知识点总结

    本文链接:https://www.haomeiwen.com/subject/rzxyyqtx.html