Mybatis之properties和自定义别名

2023-12-28 17:05:30

目录

一、properties

1、SqlMapConfig.xml可以引用java属性文件中的配置信息如下:

2、SqlMapConfig.xml引用如下

二、自定义别名

1、在SqlMapConfig.xml中配置:


一、properties

为了解决对数据库的配置的xml文件中的代码的硬编码,以及让代码更简洁

1、SqlMapConfig.xml可以引用java属性文件中的配置信息如下:

在classpath下定义db.properties文件,

driver=com.mysql.jdbc.Driver
//连接数据库
url=jdbc:mysql://localhost:3306/db_school?characterEncoding=utf-8
//用户名
username=rot
//密码
password=654321
2、SqlMapConfig.xml引用如下
  <!--读取外部db.properties-->
    <properties resource="db.properties"></properties>
<environments default="development">
        <environment id="development">
            <!-- 使用jdbc事务管理-->
            <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>

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

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

然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。

二、自定义别名

在 Mapper.xml 文件中,resultType 和 parameterType 需要指定,这个值往往都是全路径,不方便开发,所以我们可以对这些属性进行一些别名设置

1、在SqlMapConfig.xml中配置:

注意typeAliases不能放在<properties>之前和<environments>之后?

<typeAliases>

<!-- 单个别名定义 -->

????????<typeAlias alias="user" type="cn.xinhua.mybatis.po.User"/> ?? ??? ?

<!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->

????????<package name="cn.xinhua.mybatis.po"/> ?? ?

????????<package name="其它包"/> ?? ? ? ? ? ? ?

</typeAliases>

修改一下映射文件就可以了
<?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>
    <!--读取外部db.properties-->
    <properties resource="db.properties"></properties>
    <typeAliases>
        <!-- 单个别名定义 -->
        <typeAlias alias="Student" type="com.xinhua.domain.Student"></typeAlias>
        <!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
        <package name="com.xinhua.domain"></package>
    </typeAliases>
    <!-- 和spring整合后 environments配置将废除-->
    <environments default="development">
        <environment id="development">
            <!-- 使用jdbc事务管理-->
            <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>
</configuration>

文章来源:https://blog.csdn.net/weixin_73509711/article/details/135271799
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。