Без лишних слов код ключа выглядит следующим образом:
1. Код: dbcontextholder
открытый класс dbcontextholder {// threadsafe threadlocalprivate static final threadlocal <string> contextholder = new Threadlocal <string> (); public static void setdbtype (string dbtype) {contextholder.set (dbtype); ((String) contextholder.get ());} public static void cleardbtype () {contextholder.remove ();}} 2. Код: DynamicDatasource
Import org.springframework.jdbc.datasource.lookup.abstractroutingDatasource; открытый класс DynamicDatasource Extrends AbstractroutingDataSource {@OverridePublic Object DetureCurrentLookupkey () {return dbcontexTholder.getdbtyp (); 3. Код: Spring.xml
<!-Файл конфигурации свойства источника данных-> <Контекст: Property Placeholder location = "classpath: ibatis.properties" /> <bean id = "jksh" destress-method = "close"> <!-Информация об соединении-> <собственность = "urlassname" name = "username" value = "$ {username.jksh}" /> <name = "password" value = "$ {password.jksh}" /> <!-Информация об объединении соединений-> <name = "maxidle" value = "$ {maxidle.jksh}" /> <propatement = "maxactive" name = "defaultautocommit" value = "false" /> <name = "timeBeneEvictionRunsmillis" value = "$ {TimeBhiteEvictionRunsmillis.jksh}" /> <name = "minevictableidilemelis" value = "$ {minevictableidis.jksh}" /> <bean> < /bean> < /bean> < /bean id = "jclt" Drest Method = "close"> <!-Информация об подключении-> <name = "driverclassname" value = "$ {Driver.jclt}" /> <name = "url" value = "$ {url.jclt}" /> <name = "username" value = "$ {username.jclt}" /> <part name = "value =" $ {username.jclt} " /> <proport" " /" /"valy" " /" valy "value =" $ {username.jclt} " /" /"" /"value" value = "$ {username.jclt}" /> "". value = "$ {password.jclt}" /> <!- value = "$ {timeBowneEvictionRunsmillis.jclt}" /> <name = "mineVictableIdletImelis" value = "$ {mineVictableIdleMemilis.jclt}" /> < /bean> <bean id = "dataSource"> <propate Key-type = "java.lang.string"> <intpirt key = "jksh" value-ref = "jksh" /> <intpirt key = "jclt" value-ref = "jclt" /> < /map> < /property> <property name = "defaultArgetDatasource" ref = "jksh" /> < /bean> 4. Код: основной метод
Импорт javax.sql.datasource; import org.springframework.context.applicationContext; импорт org.springframework.context.support.classpathxmlapplicationcontext; импорт org.springframework.core.filesyStemresource; импорт org.sprimework.core.core.core.filesyStemresource; com.jclt.service.commons.dbcontextholder; import com.jclt.service.model.user; import org.apache.ibatis.session.sqlsession; import org.apache.ibatis.session.sqlsessionFactor; args*/public static void main (string [] args) {ApplicationContext appcontext = new classpathxmlapplicationcontext ("client-beans.xml"); dbcontextholder.setdbtype ("jclt"); string res = "src/main/resources/ibatis-config.xml"; string res = "src/main/resources/ibatis-config.xcml"; appcontext.getbean ("dataSource"); sqlSessionFactorybean bean = new sqlSessionFactoryBean (); bean.setDataSource (dataSource); ресурс ресурса = new -systemresource (res); bean.setConfiglocation (resource); sqlSessionFactafore = bean.tobjoyscoy.cessecube = bean.tobjectory (resource); session = sessionfactory.opensession (); user user = session.selectone ("com.jclt.service.dao.readjksh.findone"); System.out.println (user.getName ());} Catch (Exception e) {e.printStackTrace ();} dbContexTholder.SetDbtype (jkshtrace "); res1 = "src/main/resources/ibatis-config.xml"; dataSource dataSource1 = (dataSource) appcontext.getbean ("dataSource"); sqlSessionFactorybean bean1 = new sqlSessionFactorybean (); Bean1.setDatorybean (dataSource1); FileSystemresource (res1); bean1.setConfiglocation (resource1); try {sqlSessionFactory sessionFactory = bean.getObject (); sqlSession session = sessionFactory.Opensession (); пользователь user = session.selectone ("com.jclt.service.dao.readjksh.findone"); System.out.println (user.getName ());} Catch (Exception e) {e.printStackTrace ();}}}Выше представлено комбинация Spring и Mybatis для реализации функции переключения с несколькими данными, которую редактор представил вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!