方式一:通过properties 元素的子元素来传递数据

例如:

     <properties>
<property name="driver" value="com.mysql.jdbc.Driver" /> <!-- 驱动类型 -->
<property name="url" value="jdbc:mysql://localhost:3306/sam" /> <!-- 连接字符串 -->
<property name="username" value="root" /> <!-- 用户名 -->
<property name="password" value="root" /> <!-- 密码 -->
</properties>

然后其中的属性就可以在整个配置文件中被用来替换需要动态配置的属性值。比如:

             <dataSource type="POOLED">
<property name="driver" value="${driver}" /> <!-- 驱动类型 -->
<property name="url" value="${url}" /> <!-- 连接字符串 -->
<property name="username" value="${username}" /> <!-- 用户名 -->
<property name="password" value="${password}" /> <!-- 密码 -->
</dataSource>

这个例子中的 driver、url、username、password 将会由 properties 元素中的子元素设置的相应值来替换。

注:dataSource元素下的property的属性value值,需与properties元素下的property的属性name一一对应。

完整配置文件:myBatis-config.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>
<properties>
<property name="driver" value="com.mysql.jdbc.Driver" /> <!-- 驱动类型 -->
<property name="url" value="jdbc:mysql://localhost:3306/sam" /> <!-- 连接字符串 -->
<property name="username" value="root" /> <!-- 用户名 -->
<property name="password" value="root" /> <!-- 密码 -->
</properties>
<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="DeptMapper.xml" /> <!-- 映射SQL语句的XML文件 -->
</mappers>
</configuration>

方式二、通过properties的resource属性来引入外部properties配置文件的内容

完整配置文件:myBatis-config.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>
<!-- 引入外部配置文件 -->
<properties resource="dbconfig.properties">
</properties>
<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="DeptMapper.xml" /> <!-- 映射SQL语句的XML文件 -->
</mappers>
</configuration>

完整配置文件:dbconfig.properties

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

注:dbconfig.properties此文件换行时,不能有空格!!!

JAVA MyBatis配置文件用properties引入外部配置文件的更多相关文章

  1. SpringBoot常用配置,引入外部配置文件信息,热加载

    SpringBoot的配置文件格式 yml规范 SpringBoot的配置文件支持properties和yml,甚至还支持json. 更推荐使用yml文件格式: yml文件,会根据换行和缩进帮助咱们管 ...

  2. jar包读取jar包内部和外部的配置文件,springboot读取外部配置文件的方法

    jar包读取jar包内部和外部的配置文件,springboot读取外部配置文件的方法 用系统属性System.getProperty("user.dir")获得执行命令的目录(网上 ...

  3. application.properties多环境配置文件、jar包外部配置文件、配置项加密、程序中配置使用

    一.简介 spring boot项目application.properties文件存放及使用介绍 二.方法一多环境配置文件 我们一般都会有多个应用环境,开发环境.测试环境.生产环境,各个环境的配置会 ...

  4. Spring配置文件中如何使用外部配置文件配置数据库连接

    直接在spring的配置文件中applicationContext.xml文件中配置数据库连接也可以,但是有个问题,需要在url后带着使用编码集和指定编码集,出现了如下问题,&这个符号报错-- ...

  5. springboot java -jar指定启动的jar外部配置文件

    Limited Setting Effect 中文描述 Java 8 -Xbootclasspath:<path> Sets the search path for bootstrap c ...

  6. MyBatis配置文件(一)――properties属性

    MyBatis配置文件中有很多配置项,这些配置项分别代表什么,有什么作用,需要理一下了.先通过下面这个例子来看都有哪些配置项 <?xml version="1.0" enco ...

  7. 在spring配置文件中引入外部properties配置文件 context:property-placeholder

    在spring的配置文件中,有时我们需要注入很多属性值,这些属性全都写在spring的配置文件中的话,后期管理起来会非常麻烦.所以我们可以把某一类的属性抽取到一个外部配置文件中,使用时通用spring ...

  8. 通过外部配置文件做mybatis的基础配置,以及Mapper代理接口的实现

    1.通过外部配置文件做mybatis的基础性的配置. 1)先编写config.properties的文件(做一些动态的配置). 配置的内容如下: jdbc.jdbcUrl=jdbc:oracle:th ...

  9. MyBatis(三):核心配置文件的重要配置

    本文是按照狂神说的教学视频学习的笔记,强力推荐,教学深入浅出1便就懂!b站搜索狂神说即可 https://space.bilibili.com/95256449?spm_id_from=333.788 ...

随机推荐

  1. 牛客暑假多校 F RIKKA with Line Graph

    题意: 现在有一副完全图, 将他转化成线图. 线图就是 把原来的图上的边都变成点, 然后如果原来的任意2条边存在公共点, 他们就会有一条边, 边权为原来的2条边的和. 最后求出线图中的任意2点的最短路 ...

  2. VScode神器如何同步配置和所装插件

    由于近期编辑器换用vscode,回到家里也需要写代码,但是家里电脑也需要安装vscode,并设置相同配置和插件.想到以前webstrom可以直接导出配置然后安装. 但是vscode无此配置,突发奇想g ...

  3. Shiro使用Session缓存

    Shiro的Session缓存主要有两种方案,一种是使用Shiro自己的Session,不使用HttpSession,自己实现Shiro的Cache接口和Session缓存等:另外一种是直接使用spr ...

  4. JDK8时间工具类

    JDK8添加了java.time包,提供了很多方便.用得比较多的几个类:Instant 在时间线上模拟单个瞬时点Duration 以秒和纳秒为单位模拟一个数量或时间量.可以使用其他基于持续时间的单位访 ...

  5. Spring Boot 自定义 Banner 教程

    我们在启动 SpringBoot 时,控制台会打印 SpringBoot Logo 以及版本信息.有的时候我们需要自己弄个有个性的文本图片.Spring Boot 为我们提供了自定义接口. . ___ ...

  6. Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载)

    场景 Winform中实现ZedGraph中曲线右键显示为中文: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100115292 ...

  7. [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher 题解报告

    来刷kuangbin字符串了,字符串处理在ACM中是很重要的,一般比赛都会都1——2道有关字符串处理的题目,而且不会很难的那种,大多数时候都是用到一些KMP的性质或者找规律. 点击标题可跳转至VJ比赛 ...

  8. Day 5文件管理—三剑客的了解

    文件的下载 wget curl 1.文件的上传 rz sz #不支持拷贝文件夹 文件内容进行 排序 sort ,去重uniq, 统计 文件的截取 cut awk sed .... | ######3. ...

  9. SpringCloud(五)Zuul网关与分布式配置中心

    在 Spring Cloud 微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(Ngnix),再到达服务网关(Zuul 集群),然后再到具体的服务.服务统一注册到高可用的服务注册中 ...

  10. docker harbor搭建笔记

    介绍 Harbor是VMware公司开源的一个用于存储和分发Docker镜像的企业级Registry服务器,以Docker开源的Registry为基础,通过添加一些企业必需的功能特性,例如安全.标识和 ...