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的类型相同。

  • 相关阅读:
    上传文件插件-bootstrap-fileinput
    js【jquery】
    html
    CSS3中的vh、vw及其应用场景
    element,点击查看,实现tab切换:
    js 遍历tree的一个例子(全遍历),更复杂的功能
    js 遍历tree的一个例子(全遍历)
    js 遍历tree的一个例子
    您的连接不是私密连接
    Es6中Map对象和Set对象的介绍及应用
  • 原文地址:https://www.cnblogs.com/longxok/p/10875458.html
Copyright © 2011-2022 走看看