zoukankan      html  css  js  c++  java
  • MyBatist庖丁解牛(三)

    从MyBatis代码实现的角度来看,MyBatis的主要的核心部件有以下几个:

    SqlSession:作为MyBatis工作的主要顶层API,表示和数据库交互的会话,完成必要数据库增删改查功能;

    Executor:MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护;

    StatementHandler:封装了JDBC Statement操作,负责对JDBC statement 的操作,如设置参数、将Statement结果集转换成List集合。

    ParameterHandler:负责对用户传递的参数转换成JDBC Statement 所需要的参数;

    ResultSetHandler:负责将JDBC返回的ResultSet结果集对象转换成List类型的集合;

    TypeHandler:负责java数据类型和jdbc数据类型之间的映射和转换;

    MappedStatement:MappedStatement维护了一条<select|update|delete|insert>节点的封装;

    SqlSource:负责根据用户传递的parameterObject,动态地生成SQL语句,将信息封装到BoundSql对象中,并返回;

    BoundSql:表示动态生成的SQL语句以及相应的参数信息;

    Configuration:MyBatis所有的配置信息都维持在Configuration对象之中;

    Mapper接口开发需要遵循:

         Mapper.xml文件中的namespace与mapper接口的类路径相同。

         Mapper接口方法名和Mapper.xml中定义的每个statement的id相同 

         Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同

         Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同。

  • 相关阅读:
    记人生第一面之ThoughtWorks面试经历
    2016阿里笔试
    思特沃克学院学习方法总结
    敏捷软件开发
    express
    如何将项目部署到heroku并使用malb数据库
    渐进增强与平稳退化
    what is react?
    什么是Node.js
    面试1(转)
  • 原文地址:https://www.cnblogs.com/longxok/p/10875458.html
Copyright © 2011-2022 走看看