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>
原文地址:https://www.cnblogs.com/Guang09/p/13750001.html