properties文件对于MyBatis修改数据库连接更加方便

本文介绍了如何利用properties文件简化MyBatis的数据库连接配置。通过在jdbc.properties资源文件中存储连接字符串,然后在mybatis-config.xml中导入,可以实现配置的外部化和动态替换,提高代码的可维护性。

properties

  1. 可外部配置且可动态替换的,可以在典型的 Java 属性文件中配置
<properties>
     <property name="driver" value="com.mysql.jdbc.Driver" />
     <property name="url" 
             value="jdbc:mysql://localhost:3306/test_mybatis" />
     <property name="username" value="root" />
     <property name="password" value="1234" />
 </properties>
  1. 也可通过 properties 元素的子元素来配置
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_1129
jdbc.username=root
jdbc.password=1234
  1. properties还要注意:
    properties的作用并不单单是这样,你可以创建一个资源文件,名为jdbc.properties的文件,将四个连接字符串的数据在资源文件中通过键值 对(key=value)的方式放置,不要任何符号,一条占一行
  2. properties文件在mybatis-config.xml(官方文件定义的xml名称,也可以随意改文件名)的导入
<!-- 
		properties: 引入外部的属性文件
			resource: 从类路径下引入属性文件 
			url:  引入网络路径或者是磁盘路径下的属性文件
-->
<properties resource="db.properties" ></properties>
  1. 文件配置完成后,Java(mybatis-config.xml)文件为
<environments default="oracle">
		<environment id="mysql">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}" />
				<property name="url" value="${jdbc.url}" />
				<property name="username" 
                         value="${jdbc.username}" />
				<property name="password" 
                         value="${jdbc.password}" />
			</dataSource>
		</environment>
	</environments>
### MyBatis 连接数据库配置示例 在MyBatis中,数据库连接池管理是通过配置文件或程序代码实现的[^1]。对于Spring Boot项目而言,借助`mybatis-spring-boot-starter`依赖项能够简化这一过程并提供自动化配置功能[^2]。 #### application.properties/yml中的基础配置 为了使应用程序能顺利访问数据库,在项目的资源目录下创建名为`application.properties`或`application.yml`的文件,并加入必要的属性: 对于`.properties`文件来说: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 而对于采用YAML格式的情况,则应如此编写: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC username: root password: password driver-class-name: com.mysql.cj.jdbc.Driver ``` 上述配置指定了JDBC URL、用户名、密码以及驱动类名称等基本信息,这些参数共同决定了如何建立到目标数据库的有效链接。 #### 自定义数据源与多数据源场景下的处理方式 当面临更复杂的需求比如动态切换读写分离的数据源时,可以在Mapper接口上利用自定义注解来指定具体使用的数据源实例。例如下面这段代码展示了怎样在一个方法调用期间临时改变默认行为指向另一个称为“slave”的副本节点执行查询操作[^4]: ```java package cn.tzh.mybatis.mapper; import cn.tzh.mybatis.config.TargetDataSource; import cn.tzh.mybatis.entity.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @Mapper public interface UserMapper { /** * 默认情况下会使用主库进行查询. */ User selectUserOne(@Param("id") Long id); /** * 明确指出此方法应该针对从库(slave)发起请求. */ @TargetDataSource("slave") User selectUserTwo(@Param("id") Long id); } ``` 这种灵活性允许开发者根据业务逻辑灵活调整底层物理存储的选择策略而不必修改大量现有代码。 #### 数据库连接池选项及其优化建议 除了标准配置外,还可以进一步定制化所选用的连接池组件(如DBCP, C3P0 或 HikariCP),以满足特定性能需求或是适应不同的运行环境特点。通常推荐优先考虑HikariCP因为它提供了出色的吞吐量表现并且易于维护。 要启用某个具体的连接池实现只需简单更改配置文件内的相应条目即可,例如切换至HikariCP可按如下所示设置: ```properties # .properties 文件内添加以下内容 spring.datasource.type=com.zaxxer.hikari.HikariDataSource hikari.maximum-pool-size=10 hikari.minimum-idle=5 ... ``` 或者如果是 YAML 格式的配置则为: ```yaml spring: datasource: type: com.zaxxer.hikari.HikariDataSource hikari: maximumPoolSize: 10 minimumIdle: 5 ... ``` 以上就是有关于MyBatis连接数据库的一些常见配置实践案例介绍,希望可以帮助读者更好地理解和应用这项技术。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值