بدون مزيد من اللغط ، فإن رمز المفتاح هو كما يلي:
1. الكود: DBContextholder
الفئة العامة dbcontextholder {// threadsafe threadlocalprivate static final final -alcal <string> contexTholder = new threadlocal <string> ((سلسلة) contextholder.get ()) ؛} الفراغ الثابت العام cleardbtype () {contextholder.remove () ؛}} 2. الكود: DynamicDataSource
استيراد org.springframework.jdbc.datasource.lookup.abstractroutingDataSource ؛ الطبقة العامة DynamicDataSource يمتد ArgTractRoutingDataSource
3. الكود: spring.xml
<!-ملف تكوين خاصية مصدر البيانات-> <السياق: property-placeholder location = "classpath: ibatis.properties" /> <bean id = "jksh" destroy-method = "close"> <! name = "username" value = "$ {username.jksh}" /> <property name = "password" value = "$ {password.jksh}" /> <! name = "defaultaUtocommit" value = "false" /> <property name = "timeBetweenevictionRunsMillis" value = "$ {timeTeweNevictionRunsMillis.jksh}" /> <property name = "minevictableDletImillis id = "jclt" تدمير method = "elling"> <!-معلومات الاتصال-> <property name = "driverClassName" value = "$ {driver.jclt}" /> <property name = "url" value = "$ {url.jclt}" /> <property name = username value = "$ {password.jclt}" /> <!-معلومات تجميع الاتصالات-> <property name = "maxidle" value = "$ {maxidle.jclt}" /> <property name = "maxactive" value = "$ {maxavective.jclt}" /> <property name = "defaultoCommit" value = "$ {timeTeWeNevictionRunsMillis.jclt}" /> <property name = "minevictableDletimeMImillis" value = "$ {minevictableDletImemillis.jclt}" /> </bean> key = "jksh" value-ref = "jksh" /> <interpt key = "jclt" value-ref = "jclt" /> < /map> </propert 4. الكود: الطريقة الرئيسية
استيراد javax.sql.datasource ؛ استيراد org.springframework.context.applicationContext ؛ استيراد org.springframewework.context.support.classpathxmlapplicationContext ؛ org.springframework.core.io.resource ؛ استيراد com.jclt.service.commons.dbcontextholder ؛ استيراد com.jclt.service.model.user org.mybatis.spring.sqlsessionfactorybean ؛ نص الطبقة العامة {/*** param args*/public static void main (string [] args) {ApplicationContext AppContext = new classpathxmlicationContex res = "src/main/resources/ibatis-config.xml" ؛ dataSource dataSource = (datasource) appcontext.getBean ("dataSource") ؛ FileSystemResource (res) ؛ bean.setConfigLocation (Resource) ؛ حاول {sqlSessionFactory SessionFactory = bean.getObject () ؛ sqlsession session = sessionfactory.opensession () ؛ المستخدم user = session.selectone ("com.jclt.service.dao.readjksh.findone") ؛ system.out.println (user.getName ()) ؛} catch (استثناء e) res1 = "src/main/resources/ibatis-config.xml" ؛ dataSource dataSource1 = (dataSource) AppContext.getBean ("datasource") ؛ FileSystemResource (res1) ؛ bean1.setConfigLocation (Resource1) ؛ حاول {sqlsessionfactory sessionfactory = bean.getObject () ؛ sqlsession session = sessionfactory.opensession () ؛ المستخدم user = session.selectone ("com.jclt.service.dao.readjksh.findone") ؛ system.out.println (user.getName ()) ؛} catch (استثناء e) {E.PrintStackTrace () ؛}}}ما سبق هو مزيج من الربيع و MyBatis لتنفيذ وظيفة تبديل مصدر البيانات المتعددة التي قدمها لك المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!