zoukankan      html  css  js  c++  java
  • Mybatis常见问题

    1.#和$的区别和联系

    1.1#是占位符,会对Sql进行预编译,相当于?;$是做Sql拼接,有sql注入的隐患

    1.2#不需要关注数据类型,Mybatis自动实现类型转换,$必须自己判断数据类型联系

    两者都支持通过@Param注解,指定参数名称,来获取参数值。

    2.谈谈你对Mybatis的理解?

    对于这个问题,官方这样介绍:是支持定制化Sql,存储过程以及高级映射的优秀的持久层框架。Mybatis避免了几乎所有的JDBC代码和手工设置参数以及抽取结果集。Mybatis使用简单的XML或注解来配置和映射基本体,将接口和java的pojos映射成数据库中的记录。

    Mybatis的优点:

    2.1.简单易学

    2.2.灵活

    2.3.解除Sql和程序代码的耦合

    2.4.提供映射标签,支持对象与数据库的orm字段关系映射

    2.5.提供对象关系映射标签,支持对象关系组建维护

    2.6.提供xml标签,支持编写动态sql

    3.Mybatis缓存

    一级缓存:Mybatis的一级缓存的作用域是session,当openSession( )后,如果执行相同的Sql(相同语句参数),Mybatis不进行执行sql,而是从缓存中命中返回。

    二级缓存:Mybatis的二级缓存的作用域是一个mapper的namespace,同一个namespace中查询sql可以从缓存中命中。二级缓存是可以跨session的。

  • 相关阅读:
    龌龊的新版weiphone。
    【爆牙游记】黄山归来不看岳-走进新时代。
    我只有两天。
    聪明的苹果——iPhone 3GS。
    今天,遗憾。
    为了忘却的纪念——写给《博客园精华集Web标准之道》
    剪我一根头发,就要做我一天女人。
    产品重构。
    8月9日和妈妈的对话。
    钻石环。
  • 原文地址:https://www.cnblogs.com/lichangyun/p/9583976.html
Copyright © 2011-2022 走看看