2020-10-24

一 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文件,在配环境时可以直接动态绑定

  <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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值