MyBatis知识点复习-04全局配置文件的properties和alias的讲解

MyBatis知识点复习-04全局配置文件的properties和alias的讲解

这一讲我们将介绍在SqlMapConfig文件里配置properties和alias属性,接下来你会看到他们的神奇之处:就是简化SqlMapConfig.xml文件

上一篇:MyBatis知识点复习-03Dao与Mapper代理实现

下一篇:MyBatis知识点复习-05加载映射文件的几种方式

一.properties文件配置

我们先来看一下目前为止到当前章节我们的SqlMapConfig.xml文件已经变成这样的了

<?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">
            <!-- 配置JDBC事务控制,由mybatis进行管理 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据源,采用dbcp连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis复习"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="sqlMap/User.xml"></mapper>
        <mapper resource="sqlMap/UserMapper.xml"></mapper>
    </mappers>
</configuration>

这一章的内容还是比较轻松的,接下来请跟着我做。
首先在src目录下创建文件db.properties,内容如下:

driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis复习?useUnicode=true&amp;characterEncoding=utf8
name=root
password=123456

接下来在SqlMapConfig.xml文件里的Configuration标签下面的environments标签前面写上如下内容:

    <properties resource="db.properties"></properties>

接下来我们把下面内容

  <property name="driver" value="com.mysql.jdbc.Driver"/>
  <property name="url" value="jdbc:mysql://localhost:3306/mybatis复习"/>
  <property name="username" value="root"/>
  <property name="password" value="123456"/>

修改为这样:

   <property name="driver" value="${driverClass}$"/>
   <property name="url" value="${url}$"/>
   <property name="username" value="${username}$"/>
   <property name="password" value="${password}$"/>

注意name的值不要改这是由mybatis框架的属性来决定的,然后value的值里面按照我们在db.properties里面的来写。
下面我们来运行TestUser的Test方法测试一下
在这里插入图片描述
插入成功(根据前面的文章,如果你看过,那么自然会知道为什么是插入操作了)

二.alias配置

在讲解之前我希望给你一个浅显的直观的对改配置的认知:
在生活中,比如一个老外,他的名字贼长,叫亚力三大.洛夫斯基.诺娃.米奇.凯文布雷.布尔格林;
我的妈好长,但是我们通常不会这么叫对吧,我们可以给他起个小名,叫做小林,没错现在你知道了,alias配置就是为了简化名字给他起个别名而已,下面我们来开心的学习吧.
在UserMap.xml文件中有这么一段:

<insert id="saveUser" parameterType="domain.User">
   insert into user (username,birthday,sex,address) value(#{username},#{birthday},#{sex},#{address})
</insert>

现在我觉得domain.User这个太长了,我给他起个别名,叫sss,操作如下:
在properties标签下面加上下面内容

<!--alias是别名的意思,那么typeAlias就是类型别名-->
<typeAliases>
        <typeAlias type="domain.User" alias="sss"></typeAlias>
</typeAliases>

接着将上面的UserMapper.xml的对应内容修改如下

<insert id="saveUser" parameterType="user">
   insert into user (username,birthday,sex,address) value(#{username},#{birthday},#{sex},#{address})
</insert>

测试发现成功:
在这里插入图片描述
其实这个地方如果不用别名用原名也是可以的,不过谁会这么傻呢。
接下来还有另外的一种配置更加的厉害,我们发现在用typeAlias时每次都要为一个类起一个别名,那如果有一堆类起别名呢,难道还要一个一个的写一遍?于是我们有下面的解决办法:

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

将上面的这个改为下面;

<typeAliases>
     <package name="domain"/>
</typeAliases>

对应的UserMapper.xml里面的parameterType="domain.User"改为parameterType="user"

这么写表示将domian包下面的所有类起一个别名,形式为将类的第一个字母小写,不过这一种方法与typealias相比起别名的形式比较固定,但是这是无足轻重的,这里测试通过乐我就不贴图了

上一篇:MyBatis知识点复习-03Dao与Mapper代理实现

下一篇:MyBatis知识点复习-05加载映射文件的几种方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值