mybatis学习——properties属性实现引用配置文件
2024-10-19 09:13:29
Mybatis核心配置文件中有很多的配置项,配置文档的顶层结构如下:
*注意:配置项的顺序不能颠倒,如果颠倒了它们的顺序,在MyBatis的自启动阶段会发生异常,导致程序无法运行。
properties(属性)
这里介绍properties的两种使用方式:
️注意:因为是单独介绍,所以这里显示properties的配置,不显示其他配置项
1.property子元素:就是在properties属性中增加子属性property,从而设置一些配置的key-value;
<properties >
<property name="driver" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3307/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8"></property>
<property name="username" value="root"></property>
<property name="password" value="root1234"></property>
</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>
这种配置方式存在缺点:如果配置项很多,那么配置文件就会显得很庞大,为了解决这个问题,我们可以通过引入外部文件解决,就是下边介绍的properties文件的方式。
2.properties文件:就是直接使用properties引入外部配置文件,相当于将子属性抽取成一个独立的外部文件引入;
首先编写一个properties文件命名为:db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3307/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
username=root
password=root1234
然后在将该properties文件映入核心配置文件中,通过这条语句:<properties resource="db.properties"/>
<configuration>
<properties resource="db.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>
</configuration>
*注意:如果db.properties不是放在resource包下边,则需要写完整的路径名,例如:
<properties resource="org/mybatis/example/config.properties">
最新文章
- java基础1.-------抽象类,抽象方法
- Hadoop 集群搭建
- 易全解token获取
- [OpenCV] Samples 03: cout_mat
- 2015年12月03日 GitHub入门学习(五)Markdown语法简介
- iOS开发之网络编程--获取文件的MIMEType
- Foundation of 3D computer Graphics--Reading notes
- 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”
- hdu 5492 Find a path(dp+少量数学)2015 ACM/ICPC Asia Regional Hefei Online
- 《Cortex-M0权威指南》之Cortex-M0编程入门
- InternetOpen怎么使用代理
- Html简单demo_html列表中进行编辑操作
- java三层模型与三层架构
- 深度剖析JDK动态代理机制
- oracle存储参数(storage子句)含义及设置技巧
- Android studio 安装,JDK 出错解决方案
- 强制删除正在连接的Oracle用户,以删除SDE用户为例
- BZOJ 2875: [Noi2012]随机数生成器( 矩阵快速幂 )
- JS中call、apply的用法说明
- IdentityServer4之Implicit(隐式许可)