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的。

  • 相关阅读:
    mysql安装及初始密码问题
    centos7上安装erlang22.1
    共享文件夹设置
    putty免密登录
    重新开始
    单任务多线程 安全
    线程池
    多线程
    commons-IO
    打印流
  • 原文地址:https://www.cnblogs.com/lichangyun/p/9583976.html
Copyright © 2011-2022 走看看