zoukankan      html  css  js  c++  java
  • Mybatis框架

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

    ${}是properties文件中的变量的占位符,他可以用于标签属性值和sqi内部,属于静态文本替换

    #{}是sql参数的占位符

    xml映射文件中,除常见的select、insert、update、delete标签之外还有哪些标签?

    还有很多比如:<resultMap><parameterMap><sql><include><selectKey>等等

    在实践中,通常一个xml映射文件,都会写一个Dao接口与之对应,这个Dao接口的原理是什么?Dao接口里面 的方法参数不同时,方法可以重载吗?

    Dao接口就是我们常说的Mapper接口,接口的全限名就是xml文件中namespace的值,接口 的方法名就是映射文件中MappedStatement的id值,接口方法内的参数就是传递给sql的参数。Mapper接口是没有实现类的,当调用接口时的方法时,接口全限名+方法名拼接字符串作为key值,可以唯一定位一个MappedStatement,因此是不能重载的

    MyBatis是如何进行分页的?分页插件的原理是什么?

    Mybatis使用RowBounds对象进行分页,他是针对resultSet结果集执行的内存分页,而不是物理分页,可以在sql内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件来完成物理分页

    分页插件的基本原理是使用Mybatis提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql,根据dialect方言,添加对应的物理分页语句和物理分页参数

    Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?

    Mybatis仅支持association关联对象和collection关联集合对象的延迟加载,assocation指一对一,collection指的就是一对多查询,在Mybatis配置问价中可以配置是否启用延迟加载lazyLoadingEnable=treu/false

  • 相关阅读:
    UVA 465 Overflow (浮点数的优势)
    UVA 424 Integer Inquiry (大数相加问题)
    UVA 10494 If We Were a Child Again(大数与整型相除取整和取余)
    粘一个在UVA和ZOJ都能AC但POJ WR的代码
    UVA 340 MasterMind Hints
    UVA10815 Andy's First Dictionary
    MSComm写串口通信驱动步骤
    UVA 10106 Product (大数相乘问题)
    实现工具栏中添加的组合框接收回车消息
    UVA 10420 List of Conquests
  • 原文地址:https://www.cnblogs.com/juddy/p/14071397.html
Copyright © 2011-2022 走看看