读写分离
概述
从1.r.58开始, 内置读写分离支持
ioc js形式的配置
dataSource : { // master数据源 }, slaveDataSource : { // slave数据源,负责读 }, dao : { type : "org.nutz.dao.impl.NutDao", args : [{refer:"dataSource"}], //引用主数据源 fields : { runner : {refer: "daoRunner"} } }, daoRunner : { type : "org.nutz.dao.impl.sql.run.NutDaoRunner", fields : { slaveDataSource : {refer:"slaveDataSource"} //引用slave数据源 } }
读写分离的判据
- 不在事务模板内!!
- select语句
继承NutDaoRunner覆盖selectDataSource方法,可以实现多个从库或分库分表.