zoukankan      html  css  js  c++  java
  • mybatis-核心配置文件和mappe.xml

    一  mybatis核心配置文件,标签顺序

        <?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></properties>
            <!-- 设置:定义mybatis的一些全局性设置 -->
            <settings>
               <!-- 具体的参数名和参数值 -->
               <setting name="" value=""/> 
            </settings>
            <!-- 类型名称:为一些类定义别名 -->
            <typeAliases></typeAliases>
            <!-- 类型处理器:定义Java类型与数据库中的数据类型之间的转换关系 -->
            <typeHandlers></typeHandlers>
            <!-- 对象工厂 -->
            <objectFactory type=""></objectFactory>
            <!-- 插件:mybatis的插件,插件可以修改mybatis的内部运行规则 -->
            <plugins>
               <plugin interceptor=""></plugin>
            </plugins>
            <!-- 环境:配置mybatis的环境 -->
            <environments default="">
               <!-- 环境变量:可以配置多个环境变量,比如使用多数据源时,就需要配置多个环境变量 -->
               <environment id="">
                  <!-- 事务管理器 -->
                  <transactionManager type=""></transactionManager>
                  <!-- 数据源 -->
                  <dataSource type=""></dataSource>
               </environment> 
            </environments>
            <!-- 数据库厂商标识 -->
            <databaseIdProvider type=""></databaseIdProvider>
            <!-- 映射器:指定映射文件或者映射类 -->
            <mappers></mappers>
        </configuration>

    1.属性<properties resource="db.properties"/>

    可以外界引入properties文件,在配环境时可以直接动态绑定

        <dataSource type="POOLED">
          <property name="driver" value="${driver}"/>
          <property name="url" value="${url}"/>
          <property name="username" value="${username}"/>
          <property name="password" value="${password}"/>
        </dataSource>

    2.设置setting

    setting是mybatis中极为重要的调整设置,他们会改变mybatis运行时的行为。

    一个完整的setting元素

        <settings>
          <setting name="cacheEnabled" value="true"/>
          <setting name="lazyLoadingEnabled" value="true"/>
          <setting name="multipleResultSetsEnabled" value="true"/>
          <setting name="useColumnLabel" value="true"/>
          <setting name="useGeneratedKeys" value="false"/>
          <setting name="autoMappingBehavior" value="PARTIAL"/>
          <setting name="defaultExecutorType" value="SIMPLE"/>
          <setting name="defaultStatementTimeout" value="25"/>
          <setting name="defaultFetchSize" value="100"/>
          <setting name="safeRowBoundsEnabled" value="false"/>
          <setting name="mapUnderscoreToCamelCase" value="false"/>
          <setting name="localCacheScope" value="SESSION"/>
          <setting name="jdbcTypeForNull" value="OTHER"/>
          <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
        </settings>

    3.类型别名

    类型别名是为java类型设置的一个短的名字。他只和xml配置有关,存在的意义进在于用来减少类完全限定名的冗余。

        <typeAliases>
        <typeAlias alias="user" type="cn.mybatis.domain.User"/>
        </typeAliases>

    也可以给包起别名(多实体类),给包起别名的时候,包内的实体类名就是完全限定名.

        <typeAliases>
        <package name="cn.mybatis.domain"/>
        </typeAliases>

    若有注解,则别名为其注解值.

        @Alias ("user")
        public class User {
        ...
        }

    4.类型处理器(typeHandlers)

    未完待续.....

    5.对象工厂(objectFactory)

    未完待续..........

    6、插件(plugins)

    未完待续

    7.环境配置

    <!-- 环境 -->
    <!--某一个环境默认值(指定的下文ID的环境)-->
    <environments default="default">
    <!--可多个数据源-->
    <environment id="default">
    <!--事务管理,现指定的是jdbc-->
    <!--由jdbc负责事务的提交回滚--> <transactionManager type="JDBC"/>
    <!--数据源数据池pooled-->
    <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>

    8.mapper映射文件

     <!-- mapper映射文件 -->
        <mappers>
            <!-- mapper文件路径  *Mapper.xml-->
            <!-- <mapper resource="ProductMapper.xml"/>
            <mapper resource="UserMapper.xml"/> -->
            <!-- package配置mapper包  -->
            <package name="com.gem.demo.mapper"/>
        </mappers>
    </configuration>

     

    二  mapper配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
    <mapper namespace="com.gem.demo.mapper.ProductMapper">
    <!--id值唯一,resultType是结果映射类型,指定全类名,核心文件起别名后可以直接写类型-->
    <!--com.gem.demo.entity.Product--> <select id="findAll" resultType="Product"> select * from product </select> </mapper>
  • 相关阅读:
    idea高效实用快捷键【待补充】
    前台sessionStorage存取对象注意事项
    SpringBoot2.0 整合 JWT 框架后台生成token
    vue暗含玄机的v-for指令
    【串线篇】spring boot自定义starter
    【串线篇】spring boot启动配置原理
    【串线篇】spring boot整合SpringData JPA
    docker安装MySQL5.7示例!!坑,ERROR 1045 (28000): Access denied for user
    docker常用命令及操作
    docker简介及安装
  • 原文地址:https://www.cnblogs.com/Guang09/p/13750001.html
Copyright © 2011-2022 走看看