Spring boot 如何将一个接口中的方法绑定到不同的sqlsessrion
在我的spring boot应用程序中,我需要连接到多个数据源(我知道这是一种反模式)。因此,我配置了不同的数据源和相应的SqlSessionFactorys。使用MapperScannerConfiguration,我可以指向不同的包。例如,将包com.dat.dao1中的接口绑定到SqlSessionFactory1,将包com.dat.dao2中的接口绑定到SqlSessionFactory2。我想知道是否有一种方法可以将这个绑定放在方法级别,这样我就可以决定哪个SqlSessionFactory支持哪个方法。是否有一个注释,我可以用它来选择SqlSessionFactory甚至SqlSession?这在mybatis中是不支持的。如果要覆盖此行为,则需要更改行为方式。您可以使其Spring boot 如何将一个接口中的方法绑定到不同的sqlsessrion,spring-boot,mybatis,Spring Boot,Mybatis,在我的spring boot应用程序中,我需要连接到多个数据源(我知道这是一种反模式)。因此,我配置了不同的数据源和相应的SqlSessionFactorys。使用MapperScannerConfiguration,我可以指向不同的包。例如,将包com.dat.dao1中的接口绑定到SqlSessionFactory1,将包com.dat.dao2中的接口绑定到SqlSessionFactory2。我想知道是否有一种方法可以将这个绑定放在方法级别,这样我就可以决定哪个SqlSessionFac
invoke
方法对某些注释敏感,并使用适当的SqlSession
虽然这相当简单,但要让mybatis使用您的实现,还需要付出更多的努力。为了使用您的实现而不是现有的MapperProxy
,您需要进行更改
MapperProxyFactory
创建类而不是MapperProxy
MapperRegistry
使用您的MapperProxyFactory
MapperScannerConfiguration
使用您的MapperRegistry
MapperScannerConfigure
扫描不同的包或配置了不同的annotationClass
的包要容易得多