mybatis 全局配置文件SqlMapConfig.xml

SqlMapConfig.xml

<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
点击约束跳转到 mybatis-3-config.dtd约束,配置内容和顺序如下:

<!ELEMENT configuration 
(properties?, settings?, typeAliases?,
 typeHandlers?, objectFactory?, objectWrapperFactory?, 
reflectorFactory?, plugins?, environments?, 
databaseIdProvider?, mappers?)>

dtd约束
|: 任选其一
,:必须按照规定顺序写标签
?: 可以重复一次或0次
*: 0次或多次
+ :1次或多次

 

SqlMapConfig.xml中配置的内容和顺序如下:

properties(属性配置)

settings(全局配置参数)

typeAliases(类型别名)

typeHandlers(类型处理器)

objectFactory(对象工厂)

plugins(插件)

environments(环境集合属性对象)

environment(环境子属性对象)

transactionManager(事务管理)

dataSource(数据源)

mappers(映射器)

 

1.properties:

  • 提取常用的属性
    <configuration>
      
      <properties>
            <property name="jdbc.driver" value="com.mysql.jdbc.Driver"></property>
            <property name="jdbc.url" value="jdbc:mysql://127.0.0.1:3306/mybatis1?characterEncoding=utf8"></property>
            <property name="jdbc.username" value="root"></property>
            <property name="jdbc.password" value="root"></property>
        </properties>
        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC" />
                <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>
       <mappers>
          <mapper resource="com/wqy/mapper/UserMapper.xml"></mapper>
        </mappers>
    </configuration>   
  • 引入外部配置文件

 

<properties resource="db.properties"></properties>
<environments default="development">
    <environment id="development">
        <transactionManager type="JDBC" />
        <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>

配置文件db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis1?characterEncoding=utf8
jdbc.username=root
jdbc.password=root

 

MyBatis 将按照下面的顺序来加载属性:

  •  在 properties 元素体内定义的属性首先被读取。
  • 然后会读取 properties 元素中 resource 或 url 加载的属性,它会覆盖已读取的同名属性

2.typeAliases

  • 自定义别名:

<typeAliases>
    <typeAlias type="com.wqy.pojo.User" alias="User"></typeAlias>
</typeAliases>

在UserMapper.xml中:

<select id="findAll" resultType="User">
    select * from user
</select>

  • 批量定义别名:

<!-- 批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感) -->
<typeAliases>
    <package name="com.wqy.pojo"></package>
</typeAliases>

在UserMapper.xml中:

<select id="findAll" resultType="User">
    select from user
</select>

3.Mappers映射器

  • 批量引入(推荐使用)

 <!-- 引入配置,引入的是包中所有的接口 推荐使用  -->

<mappers>

  <package name="com.wqy.mapper"></package>

</mappers>

 

  • 引入配置文件

<mappers>

 <mapper resource="com/wqy/mapper/UserMapper.xml"></mapper> 

</mappers>

 

  • 引入接口

<!--引入配置:引入dao的接口
    前提:xml中的namespace必须与dao接口全类名一致
         xml的路径必须dao接口的包名一致  -->

<mappers>
       <mapper class="com.wqy.mapper.UserMapper"></mapper>
</mappers>

 

  • 引入路径

<mappers>

         <!--必须是一个绝对路径-->
       <mapper url="file:///E:\code\javaeeCode\JavaEEPro\mybatis_2_6_config\src\main\resources\com\wqy\mapper\UserMapper.xml"></mapper>
</mappers>

 

 

 

 

 

 

 

 

posted on 2018-10-28 15:43  Cyan_W  阅读(128)  评论(0编辑  收藏  举报

导航