MyBatis(2)-- Mapper映射器

  一、properties属性

  1.可以在mybatis-config.xml中使用property子元素配置

    <properties resource="jdbc.properties">
        <!-- <property name="database.driver" value="com.mysql.jdbc.Driver"/> <property 
            name="database.url" value="jdbc:mysql://localhost:3306/chapter4"/> <property 
            name="database.username" value="root"/> <property name="database.password" 
            value="123456"/> -->
    </properties>

  2.也可以使用独立的jdbc.properties文件+properties属性resource来引入properties文件

  jdbc.properties文件:

database.driver=com.mysql.jdbc.Driver
database.url=jdbc:mysql://localhost:3306/chapter4
database.username=root
database.password=123456

  使用resource属性引入:

<properties resource="jdbc.properties" />

  二、setting设置

  例如:

    <settings>
        <setting name="lazyLoadingEnabled" value="true" />
        <setting name="aggressiveLazyLoading" value="false" />
    </settings>

  常见属性:

  • cacheEnabled:影响所有映射器中配置缓存的全局开关
  • lazyLoadingEnabled:延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。在特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态。
  • aggressiveLazyLoading:当启用时,对任意延迟属性的调用会使带有延迟加载属性的对象完整加载;反之,每种属性将会按需加载

  

  三、typeAliases属性

  由于类的权限定名称很长,需要大量使用的时候,总写那么长的名称不方便,在Mybatis中允许定义一个简写来代表这个类,这就是别名,别名分为系统定义别名和自定义别名。

  

  四、typeHandler属性

  在JDBC中,需要在PreparedStatement对象中设置那些已经预编译过的SQL语句的参数。执行SQL后,会通过ResultSet对象获取得到数据库的数据,而这些MyBatis是根据数据的类型通过typeHandler来实现的。

  五、objectFactory属性

  当创建结果集时,MyBatis会使用一个对象工厂来完成创建这个结果集实例。在默认的情况下,MyBatis会使用其定义的对象工厂--DefaultObjectFactory来完成对应的工作。

  MyBatis允许注册自定义的ObjectFactory。如果自定义,则需要实现接口org.apache.ibatis.reflection.factory.ObjectFactory,并给予配置。

  六、plugins属性

  插件是MyBatis中最强大和最灵活的组件,同时也是最复杂、最难以使用的组件,而且它十分危险,因为它将覆盖MyBatis底层对象的核心方法和属性。如果操作不当将会产生严重后果,甚至是摧毁MyBatis框架。

  七、environments属性

  在MyBatis中,运行环境主要的作用是配置数据库信息,它可以配置多个数据库,一般而言只需要配置其中的一个就可以了。它下面又分为两个可配置的元素:事务管理器(transactionManager)、数据源(dataSource)。在实际的工作中,大部分情况下会采用Spring对数据源和数据库的事务进行管理。

猜你喜欢

转载自www.cnblogs.com/BigJunOba/p/9755695.html