嘘~ 小破站正在拼命加载中 . . .

mybatis 配置详解


mybatis-config.xml 核心配置文件

mybatis-config.xml 包含的内容如下

  • configuration(配置)
  • properties(属性)
  • settings(设置)
  • typeAliases(类型别名)
  • typeHandlers(类型处理器)
  • objectFactory(对象工厂)
  • plugins(插件)
  • environments(环境配置)
  • environment(环境变量)
  • transactionManager(事务管理器)
  • dataSource(数据源)
  • databaseIdProvider(数据库厂商标识)
  • mappers(映射器)

注意元素节点的顺序!顺序不对会报错

1. environments元素

<environments default="development">
 <environment id="development">
   <transactionManager type="JDBC">
     <property name="..." value="..."/>
   </transactionManager>
   <dataSource type="POOLED">
     <property name="driver" value="$&#123;driver&#125;"/>
     <property name="url" value="$&#123;url&#125;"/>
     <property name="username" value="$&#123;username&#125;"/>
     <property name="password" value="$&#123;password&#125;"/>
   </dataSource>
 </environment>
 <environment id="test">
   <transactionManager type="JDBC">
     <property name="..." value="..."/>
   </transactionManager>
   <dataSource type="POOLED">
     <property name="driver" value="$&#123;driver&#125;"/>
     <property name="url" value="$&#123;url&#125;"/>
     <property name="username" value="$&#123;username&#125;"/>
     <property name="password" value="$&#123;password&#125;"/>
   </dataSource>
 </environment>
</environments>
  • environments配置mybatis 多套环境,将sql 映射到多个不同的数据库上,必须指定一个默认环境,即default=”development”

    1.1 子元素environment

其中dataSource 数据源(共三种内建的数据源类型)

        type="[UNPOOLED|POOLED|JNDI]"
  • unpooled:这个数据源的实现只是每次被请求时打开和关闭连接
  • pooled:这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来 , 这是一种使得并发 Web 应用快速响应请求的流行处理方式。
  • jndi:这个数据源的实现是为了能在如 Spring 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的引用。

注: 数据源也有很多第三方的实现,比如dbcp,c3p0,druid等等….

1.2 transactionManager 事务管理器(共两种)

        <transactionManager type="[ JDBC | MANAGED ]"/>

2. mappers 元素(定义映射SQL语句文件)

主要用于找到sql语句的文件在哪里?可以使用不同的方式引用sql语句 具体的引用方式如下

  • 使用相对路径引入sql语句的文件
    <!-- 使用相对于类路径的资源引用 -->
    <mappers>
    <mapper resource="org/mybatis/builder/PostMapper.xml"/>
    </mappers>
    
  • 使用完全限定资源定位符(URL)
    <!-- 使用完全限定资源定位符(URL) -->
    <mappers>
    <mapper url="file:///var/mappers/AuthorMapper.xml"/>
    </mappers>
    
  • 使用映射器接口实现类的完全限定类名,需要配置文件名称和接口名称一致,并且位于同一目录下
    ```xml
评论
  目录