zoukankan      html  css  js  c++  java
  • mybatis架构理解

    1、 mybatis配置

    SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。

    mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。

    2、 通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂

    3、 由会话工厂创建sqlSession即会话,操作数据库需要通过sqlSession进行。

    4、 mybatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个是基本执行器、一个是缓存执行器。

    5、 Mapped Statement也是mybatis一个底层封装对象,它包装了mybatis配置信息及sql映射信息等。mapper.xml文件中一个sql对应一个Mapped Statement对象,sql的id即是Mapped statement的id。

    6、 Mapped Statement对sql执行输入参数进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行sql前将输入的java对象映射至sql中,输入参数映射就是jdbc编程中对preparedStatement设置参数。

    7、 Mapped Statement对sql执行输出结果进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行sql后将输出结果映射至java对象中,输出结果映射过程相当于jdbc编程中对结果的解析处理过程。

     SqlMapConfig.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    
      <!-- 引入外部配置文件 -->
      <properties resource="mysql.properties"></properties>
      
      <!-- 为JAVA Bean起类别名 -->
       <typeAliases >
            <!-- 别名方式1,一个一个的配置 type中放置的是类的全路径,alias中放置的是类别名
            <typeAliase type="com.cy.mybatis.beans.UserBean" alias="UserBean"/> -->
            <!-- 别名方式2,自动扫描,将JAVA类的类名作为类的类别名 -->
            <package name="com.wenyin.mybatis.beans"/>
       </typeAliases>
       <!-- 配置mybatis运行环境 -->
         <environments default="cybatis">
            <environment id="cybatis">
                <!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
                <transactionManager type="JDBC" />
                
                <!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
                <!-- POOLED 表示支持JDBC数据源连接池 -->
                <!-- UNPOOLED 表示不支持数据源连接池 -->
                <!-- JNDI 表示支持外部数据源连接池 -->
                <dataSource type="POOLED">
                    <property name="driver" value="${jdbc.driver}" />
                    <property name="url" value="${jdbc.url}" />
                    <property name="username" value="${jdbc.username}" />
                    <property name="password" value="${jdbc.password}" />
                </dataSource>
            </environment>
        </environments> 
        
         
         <mappers>
            <!-- 告知映射文件方式1,一个一个的配置
            <mapper resource="com/cy/mybatis/mapper/UserMapper.xml"/>-->
            <!-- 告知映射文件方式2,自动扫描包内的Mapper接口与配置文件 -->
            <package name="com/wenyin/mybatis/mapper"/>
        </mappers>
         
    </configuration>

  • 相关阅读:
    2018-2019-2 20165209 《网络对抗技术》Exp3:免杀原理与实践
    2018-2019-2 20165209 《网络对抗技术》Exp2:后门原理与实践
    2018-2019-2 20165209 《网络对抗技术》Exp1:PC平台逆向破解
    2018-2019-2 20165209 《网络对抗技术》 Kali安装
    2018-2019-1 20165209 20165215 实验五 通讯协议设计
    2018-2019-1 20165209 《信息安全系统设计基础》第九周学习总结
    2018-2019-1 20165207 20165209 20165215 实验四 外设驱动程序设计
    2018-2019-1 信息安全系统设计实验三 并发编程 20165207 20165209 20165215
    2018-2019-1 20165207 20165209 20165215 实验二 固件程序设计
    2018-2019-1 20165207 20165209 20165215 实验一 开发环境的熟悉
  • 原文地址:https://www.cnblogs.com/huangjianping/p/8075325.html
Copyright © 2011-2022 走看看