• 通常一个 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!
  • 相关阅读:
    小工具
    git
    git如何做个人构建
    菜鸟教程
    Xftp和Xshell
    IDEA
    webStorm
    HBuilder
    chrome浏览器
    Vue-Server-Renderer
  • 原文地址:https://www.cnblogs.com/programb/p/12996164.html
Copyright © 2020-2023  润新知