MyBatis全局配置文件 一、全局配置文件mybatis-config.xml

1.dtd约束

xml文件的声明处引入dtd约束文件 ===》 规定xml中语法规则。(会自动提示)

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

MyBatis全局配置文件
一、全局配置文件mybatis-config.xml

  idea中复制项目时,在工作空间中直接复制,然后修改名称;然后把里边该删除的文件删除(例如:.idea文件夹、删掉.iml为结尾的文件等),然后在idea中import导入选择create,然后一直点next就行。(复制完别忘了手动导入的jar包

MyBatis全局配置文件
一、全局配置文件mybatis-config.xml

 上图情况就需要引入dtd约束。步骤:

1).File--->Settings--->Languages & Frameworks--->Schemas and DTDs--->点击+号--->把复制的dtd约束黏贴--->OK

MyBatis全局配置文件
一、全局配置文件mybatis-config.xml

 2).导入本地dtd文件的也行

 3).properties标签

在类路径下建一个dbconfig.properties文件

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/mybatis_sgg
jdbc.username = root
jdbc.password = root

MyBatis全局配置文件
一、全局配置文件mybatis-config.xml

 2.settings运行时配置

settings包含了很多的设置项

setting:用来设置每一个设置项

  name:设置项名

  value:设置项的取值

例如:设置驼峰命名法(让数据库表的字段命名,和JavaBean的命名形式为驼峰命名)

    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

3.typeAliases(别名处理器)--->为我们的java类型起别名(别名不区分大小写

typeAlias:为某个java类型起别名

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

  alias:指定新的别名

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

  name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认的别名(类名小写))

    <typeAliases>
        1.<!--单个起别名-->
        <!--<typeAlias type="com.atguigu.mybatis.bean.Employee" alias="ha"></typeAlias>-->

        2.<!--批量起别名-->
        <package name="com.atguigu.mybatis"></package>

        3.<!-- 批量起别名的情况下,使用@Alias注解为某个类型指定新的别名 -->
    </typeAliases>

(3种)

4.typeHandlers(类型处理器)

数据库数据类型 与 java数据类型之间的处理

5.plugins(插件)

MyBatis全局配置文件
一、全局配置文件mybatis-config.xml

 6.environments(环境们,MyBatis可以配置多种环境,default指定使用某种环境)

environment:配置一个具体的环境;(必须有下边两个标签)

  transactionManager:事务管理器;

    type:事务管理器的类型;JDBC | MANAGED

  dataSource:数据源;

    type:数据源类型;UNPOOLED(不适用连接池UnpooledDataSourceFactory) | POOLED(使用连接池PooledDataSourceFactory) | JNDI(JndiDataSourceFactory)


 7.databaseIdProvider(数据库厂商标识)

支持多数据库厂商

 type=“DB_VENDOR”:作用就是得到数据库厂商的标识,MyBatis就能根据数据库厂商的标识来执行不同的sql。

    <!--
        databaseIdProvider:支持多数据库厂商
        type:作用就是得到数据库厂商的标识,mybatis就能根据数据库厂商的标识来执行不同的sql。
    -->
    <databaseIdProvider type="DB_VENDOR">
        <!-- 为不同的数据库厂商起别名 -->
        <property name="MySQL" value="mysql"/>
        <property name="Oracle" value="oracle"/>
        <property name="SQL Server" value="sqlserver"/>
    </databaseIdProvider>

在mapper.xml文件中,sql标签上加上属性databaseId=“数据库厂商的别名”。例:

    <select id="getEmpById" resultType="emp" databaseId="mysql">
      select * from tbl_employee where id = #{id}
    </select>

8.mappers(将SQL映射注册到全局配置中)

    <!-- 将我们写好的sql 映射文件一定要注册到全局配置为中-->
    <!-- mappers:将sql映射注册到全局配置中 -->
    <mappers>

        <!--
            mapper:注册一个SQL映射
                注册配置文件
                resource:引用类路径下的SQL映射文件
                url:引用网络路径或者磁盘路径下的SQL映射文件

                注册接口
                class:直接引用(注册)接口,要求:
                    1、有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下.
                    2、没有sql映射文件,所有的SQL都是利用注解写在接口上
        -->
        <!--<mapper resource="mybatis/mapper/EmployeeMapper.xml"/>-->
        <!--<mapper class="com.atguigu.mybatis.dao.EmployeeMapper"/>-->
        <!--<mapper class="com.atguigu.mybatis.dao.EmployeeMapperAnnotation"/>-->

        <!-- 批量注解 -->
        <package name="com.atguigu.mybatis.dao"/>
    </mappers>

特别去注意,深入理解这几种注册。

还有就是这些标签的先后顺序:

MyBatis全局配置文件
一、全局配置文件mybatis-config.xml