mybaitis的配置文件

mybaitis的配置文件

在mybatis的学习中,了解到mybatis的配置文件config.xml(文件名可以随便起)有多种书写方法。下面说明一些配置文件的一些标签的使用,或者是不同的书写方法。

配置文件config.xml的组成

XML 配置文件中包含了对 MyBatis 系统的核心设置,包含获取数据库连接实例的数据源(DataSource)和决定事务作用域和控制方式的事务管理器(TransactionManager)。 这里先给出一个简单的示例:

<?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>
<!--配置环境-->
  <environments default="development">
    <environment id="development">
    <!--配置连接池-->
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

主要组成部分是XML 头部的声明和一组configuration标签。configuration标签中有environments元素和mappers元素。
XML 头部的声明,它用来验证 XML 文档正确性。
environment 元素体中包含了事务管理和连接池的配置。
mappers 元素则是包含一组映射器(mapper),这些映射器的 XML 映射文件包含了 SQL 代码和映射定义信息。
使用时,主要的更改是:

  1. 将连接池中的变量${driver}、${url}、${username}、${password}改成需要连接的数据库的参数。
  2. mapper元素中的resource的值指向自己设计好的dao的配置文件。
    如:最基本最简单的配置如下:
<?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>
<!--配置环境-->
  <environments default="development">
    <environment id="development">
    <!--配置连接池-->
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/>
        <property name="username" value="root"/>
        <property name="password" value=""/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="top/hongliankeji/dao/IUserDao.xml"/>
  </mappers>
</configuration>

properties标签

配置数据库的信息可以采用内部配置或者外部连接配置文件的方法。

第一种内部配置方法:不使用变量

如上面所说的更改连接池中的变量${driver}、${url}、${username}、${password},改为真实的可联通的数据库的信息即可。如:

<transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/>
        <property name="username" value="root"/>
        <property name="password" value=""/>
      </dataSource>

第二种内部配置方法:properties配置好变量

配置properties标签,将四个变量的值配置好,连接地址池时,直接使用变量。如:

<configuration>
    <!--配置properties-->
    <properties>
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/>
        <property name="username" value="root"/>
        <property name="password" value=""/>
    </properties>

    <!--配置环境-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"/>
            <!--配置连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="top/hongliankeji/dao/IUserDao.xml"/>
    </mappers>
</configuration>

外部连接配置文件

连接配置文件:首先,创建一个外部文件,内容是连接池的信息,如:创建一个jdbcConfig.properties文件,内容如下:
在这里插入图片描述

properties标签有两个属性resource和url。均是用来指定外部文件位置的。

resource属性

resource是按照类路径的写法来写的,外部文件必须存在类路径下。如:将外部文件jdbcConfig.properties文件放在resources目录下。
在这里插入图片描述

配置文件config.xml中使用resource属性引入外部文件

<configuration>
    <!--配置properties-->
    <properties resource="jdbcConfig.properties"></properties>

    <!--配置环境-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"/>
            <!--配置连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="top/hongliankeji/dao/IUserDao.xml"/>
    </mappers>
</configuration>
url属性

url是按照URL写法来指定地址的,可以存放在任何地方,只要url可以访问得到即可。格式:file:/// + 外部文件的地址
如:
在这里插入图片描述

<properties url="file:///C:\Users\林宏连\Desktop\jdbc\jdbcConfig.properties"></properties>
注意
  1. 路径中,尽量不要有中文

typeAlias标签

在项目设计时,我们通常会让数据库中的列名后端实体类的属性名是保持一致的,包括大小写也一致。如果不一致,可以会造成无法正常进行数据交互。这时,我们需要使用typeAlias标签来设置实体类的别名,让两者一一对应。

<typeAliases>
   <typeAlias type="top.hongliankeji.domain.User" alias="user"></typeAlias>
</typeAliases>

将domain中的User设置别名为user。type属性的值必须为全限定名(包+类名)。
typeAlias标签只可以一个一个实体类地设置别名,如果实体类较多,工作量非常大。这是,可以使用package标签进行设置别名。
package标签设置实体类的包的别名,使得改包下的实体类都会注册别名,类名就是别名,不区分大小写。

<typeAliases>
    <!--<typeAlias type="top.hongliankeji.domain.User" alias="user"></typeAlias>-->
    <package name="top.hongliankeji.domain"></package>
</typeAliases>
注意

mappers标签中也有package标签,与typeAliases标签中的package标签还是有点不同的。
mappers标签中的package标签用于指定dao接口所在的包,当指定后不需要写mapper 、resource、class了。

<mappers>
    <!--<mapper resource="top/hongliankeji/dao/IUserDao.xml"/>-->
    <!--<mapper class="top.hongliankeji.dao.IUserDao"></mapper>-->
    <package name="top.hongliankeji.dao"></package>
</mappers>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值