# 多数据源(1.33.5)

从1.33.5开始,Torna支持多数据源配置。

默认Torna数据源为主数据源,添加其它数据源方式如下:

配置文件(application.properties)新增如下配置:

# 第二个数据源
spring.multi-datasource.second.driver-class-name=com.mysql.cj.jdbc.Driver
spring.multi-datasource.second.url=jdbc:mysql://xxxx:3306/db_name?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
spring.multi-datasource.second.username=1111
spring.multi-datasource.second.password=2222
# mapper扫描包路径
spring.multi-datasource.second.mybatis.base-package=cn.torna.seconddao
# 指定配置文件
spring.multi-datasource.second.mybatis.config-location=classpath:mybatis/mybatisConfig.xml
# 指定mapper xml文件
spring.multi-datasource.second.mybatis.mapper-locations=classpath:mybatis/secondmapper/*.xml
# 打印SQL
spring.multi-datasource.second.mybatis.print-sql=true

指定打印SQL插件

如果设置了spring.multi-datasource.second.mybatis.print-sql=true,会自动加上SQL打印插件

如果要自定义实现SQL打印可以手动指定插件

自定义实现类:

public class MySqlFormatterPlugin extends SqlFormatterPlugin {
    
    // 重写
    @Override
    protected void printSql(Invocation invocation) throws Exception {
        String sql = getSql(invocation);
        sql = formatSql(sql);
        log.info("sql:{}", sql);
    }
}

指定插件

spring.multi-datasource.second.mybatis.plugins[0]=com.aa.bb.MySqlFormatterPlugin