MyBatis3系列__03几个属性总结

本文主要讲几个xml配置属性: 其都写在mybatis配置文件中

## 1.properties属性:其作用主要是可以动态引进外部的配置文件中的相关配置

          resource:引入类路径下的资源

  url:引入网络路径或者磁盘路径下的资源

``

并且在类路径下创建对应的配置文件dbconfig.properties

```

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://192.168.1.61:3306/mybatis_learn

jdbc.username=root

jdbc.password=123456

orcl.driver=oracle.jdbc.OracleDriver

orcl.url=jdbc:oracle:thin:@localhost:1521:orcl

orcl.username=scott

orcl.password=123456

```

然后将mybatis-config.xml中的数据库配置进行更改即可:

```

```

*如果属性在不只一个地方进行了配置,那么 MyBatis 将按照下面的顺序来加载*

- 在 properties 元素体内指定的属性首先被读取。

- 然后根据 properties 元素中的 resource 属性读取类路径下属性文件或根据 url 属性指定的路径读取属性文件,并覆盖已读取的同名属性。

- 最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。

*总结:通过方法参数传递的属性具有最高优先级,resource/url 属性中指定的配置文件次之,最低优先级的是 properties 属性中指定的属性。*

## 2.settings设置:

该系列设置主要用来改变mybatis的行为,是极其重要的设置。截取几个属性展示如下:

![image](https://user-images.githubusercontent.com/32826769/54729321-dcfd4a00-4bbd-11e9-9fa6-395968c1f9cd.png)

```

//在这里 我们设置了开启驼峰命名,这样子在保证命名规范的情况下就无需再在sql中使用别名了

```

## 3.typeAliases:别名处理器

### 1.typeAlias:为某个java类型起别名

  type:指定要起别名的类型全类名;默认别名就是类名小写;

  alias:指定新的别名

### 2.批量起别名时,只需定义JavaBean的包名即可

        package:为某个包下的所有类批量起别名

        name:包名

        批量起别名的情况下,使用@Alias注解为某个类型指定新的别名

这样,就可以在sql映射文件中将resultType写类的别名即可(不区分大小写);当然,还是推荐使用全类名的方式,便于定位。

##  4.typeHandlers:类处理器:将Java中的类和数据库的类型做映射,先不介绍

## 5.environments: 环境配置,可以配置生产环境和开发环境.default:指定一种环境,可以快速切换。

      environment:配置一个具体的环境信息,必须有两个标签:

          ** id;唯一标识;transactionManager:事务管理器;**

          其中:type:事务管理器类型;

                        JDBC(JdbcTransactionFactory):直接使用JDBC的事务管理

                        MANAGED(ManagedTransactionFactory)

        自定义事务管理器:实现TransactionFactory接口.type指定为全类名

          dataSource:数据源;

type:数据源类型;UNPOOLED(UnpooledDataSourceFactory)

|POOLED(PooledDataSourceFactory)

|JNDI(JndiDataSourceFactory)

自定义数据源:实现DataSourceFactory接口,type是全类名

## 6.databaseIdProvider:支持多数据库厂商的

    mybatis可以支持你配置多个数据库,配置方式与环境配置类似:

    type="DB_VENDOR":VendorDatabaseIdProvider,作用就是得到数据库厂商的标识(驱动

                getDatabaseProductName()),mybatis就能根据数据库厂商标识来执行不同的sql;

MySQL,Oracle,SQL Server,xxxx

## 7.mappers:映射器,绑定你自己写的sql配置文件

      mapper:注册一个sql映射

注册配置文件

resource:引用类路径下的sql映射文件mybatis/mapper/EmployeeMapper.xml

url:引用网路路径或者磁盘路径下的sql映射文件file:///var/mappers/AuthorMapper.xml

注册接口

class:引用(注册)接口,

      1、有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下;

    2、没有sql映射文件,所有的sql都是利用注解写在接口上;

      推荐:

比较重要的,复杂的Dao接口我们来写sql映射文件

不重要,简单的Dao接口为了开发快速可以使用注解;

最后,贴一下代码:

mybatis-config.xml

```

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

```

注解Mapper:

```

package com.mybatis.learn.dao;

import com.mybatis.learn.bean.Employee;

import org.apache.ibatis.annotations.Select;

public interface EmployeeAnnotationMapper {

    @Select(" select id, last_name lastName, gender, email from tbl_employee where id = #{id}")

    public Employee getEmpByEmpId(Integer id);

}

```

你可能感兴趣的:(MyBatis3系列__03几个属性总结)