zoukankan      html  css  js  c++  java
  • 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应, 请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法, 参数不同时,方法能重载吗?

    Dao 接口即 Mapper 接口接口的全限名就是映射文件中的 namespace 的值

    接口的方法名就是映射文件中 Mapper  Statement  id 接口方法内的 

    参数就是传递给 sql 的参数

    Mapper 接口是没有实现类的当调用接口方法时接口全限名+方法名拼接字符 

    串作为 key 可唯一定位一个 MapperStatement。 Mybatis 每一个 

    <select>、<insert>、<update>、<delete>标签都会被解析为一个 

    MapperStatement 对象

    举例com.mybatis3.mappers.StudentDao.findStudentById可以唯 

    一找到 namespace  com.mybatis3.mappers.StudentDao 下面 id  

    findStudentById  MapperStatement。

    Mapper 接口里的方法是不能重载的因为是使用 全限名+方法名 的保存和寻 

    找策略。Mapper 接口的工作原理是 JDK 动态代理,Mybatis 运行时会使用 JDK

    动态代理为 Mapper 接口生成代理对象 proxy,代理对象会拦截接口方法转而 

    执行 MapperStatement 所代表的 sql,然后将 sql 执行结果返回

    Java Program!
  • 相关阅读:
    AtCoder Regular Contest 061
    Codeforces Round #370 (Div. 2)
    2016 ACM/ICPC Asia Regional Dalian Online
    HDU 5513 Efficient Tree
    Codeforces Round #104 (Div. 1)
    2016 Hunan Province Programming Contest
    2016 Multi-University Training Contest 7
    2016中国大学生程序设计竞赛
    聚会「AHOI 2008」
    游戏「AHOI / HNOI2018」
  • 原文地址:https://www.cnblogs.com/programb/p/12996164.html
Copyright © 2011-2022 走看看