配置Mysql读写分离方法
1.在db.properties文件下,配置你的读写库等多个库的配置(包含数据库的url、username、password)
#写库
url=jdbc:mysql://xx.xx.xx.xx:3306/(库名)Unicode=true&characterEncoding=utf8&autoReconnect=true&tinyInt1isBit=false&allowMultiQueries=true
mysqlUsername=XXX
mysqlPassword=XXXX
#读库
read.url=jdbc:mysql://XX.XX.XX.XX:3306/(库名)Unicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=Asia/Shanghai
read.mysqlUsername=XXX
read.mysqlPassword=XXXX
这个文件注意一点,不同库配置的url、username、password 前面的 名字不能相同,以免在spring配置文件中起不到读写分离效果或者冲突。
2.在srping配置文件中,配置数据库事务,和数据源的bean(读写库通用的bean,其中${}参数都是通用)
<!-- 使用annotation定义事务 -->
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
<!-- 动态数据源配置文件 -->
<context:property-placeholder ignore-unresolvable="true" location="classpath:db.properties"/>
<!-- 阿里 druid数据库连接池基础配置 -->
<bean id="parentDataSource" abstract="true" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<!-- 数据库基本信息配置 -->
<property name="driverClassName" value="${driverClassName}" />
<property name="filters" value="${filters}" />
<!-- 最大并发连接数 -->
<property name="maxActive" value="${maxActive}" />
<!-- 初始化连接数量 -->
<property name="initialSize" value="${initialSize}" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="${maxWait}" />
<!-- 最小空闲连接数 -->
<