zoukankan      html  css  js  c++  java
  • mybatis 映射器

    1 映射器 Mapper 是由java接口和 XML 文件共同组成。它的作用如下

    1)定义参数类型

    2)描述缓存

    3)描述 SQL 语句

    4)定义查询结果和POJO的映射关系

    2 SqlSessionFactoryBuilder 主要作用是用来生成 SqlSessionFactory,生成以后就不用了,所以它的生命周期只存在于方法局部。

    3 SqlSessionFactory 的作用是创建SqlSession,而 SqlSession 就是一个会话,相当于是JDBC的 Connection 对象。每次应用访问数据库,就需要通过 SqlSessionFactory 创建SqlSession ,所以 SqlSessionFactory 应该在整个生命周期中。每个数据库只对应一个 SqlSessionFactory 。

    4 SqlSession 是一个会话,相当于 JDBC 的 Connection 对象,它的生命周期应该是请求数据库处理事务的过程中。它是一个线程不安全的对象,当操作数据库时需要注意其隔离级别、数据库锁等高级特性。

    此外每次创建都需要及时关闭它。

    5 Mapper 是一个接口,而没有任何实现类,它的作用是发送SQL语句,然后返回我们的结果;或者执行SQL语句修改数据库中数据,因此他应该在一个 SqlSession 事务方法之内,是一个方法级别的东西。

    它的最大范围和 SqlSession 是相同的。

    6 typeHandler 常用的配置为 java 类型、jdbc类型。typeHandler 的作用就是将参数从 javaType 转化为 jdbcType,或者从数据库取出结果把 jdbcType 转换成 javaType 。

    7 引入映射器的方法

    7.1)使用文件路径引入映射器,

    <mappers>
            <mapper resource=""></mapper>
        </mappers>

    7.2)使用包名引入映射器,

    <mappers>
            <package name=""/>
        </mappers>

    7.3)使用扫描方式引入

    <!-- mybatis的Mapper的扫描器 MapperScannerConfigure  会自动扫描
             mapper包下的所有接口自动生成代理对象: 对象名字为Mapper接口类名(首字母小写)
         -->
        <bean id="mapperScanConfig" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
            <property name="basePackage" value="com.huitong.dao"/>
        </bean>
  • 相关阅读:
    combineByKey
    reduceByKey和groupByKey的区别
    Spark-Streaming之window滑动窗口应用
    归并排序
    SparkSQL的3种Join实现
    大数据面试题及答案
    Spark-Join优化之Broadcast
    Spark map-side-join 关联优化
    解决spark中遇到的数据倾斜问题
    Greenplum-cc-web安装
  • 原文地址:https://www.cnblogs.com/zhaopengcheng/p/7125877.html
Copyright © 2011-2022 走看看