โครงการจำเป็นต้องได้รับข้อมูลจากเว็บไซต์อื่น ๆ เนื่องจากเป็นข้อกำหนดชั่วคราว ฉันไม่ได้คาดหวังว่าจะต้องมีแหล่งข้อมูลหลายแหล่งเมื่อเริ่มโครงการ
ดังนั้น Baidu จึงพบว่าจำเป็นต้องเปลี่ยนไฟล์ ApplicationContext.xml ของ Spring เท่านั้นและเขียนคลาสเครื่องมือสามคลาสเพื่อใช้งานได้อย่างสมบูรณ์แบบ
ApplicationContext.xml
<!-การกำหนดค่าแหล่งข้อมูลหลายข้อมูล-> <bean id = "ds1"> <property name = "driverclassName" value = "$ {jdbc.driverclassName}" /> <property name = "url" value = "$ {jdbc.url}" /> /> </ebean> <bean id = "ds2"> <property name = "driverclassName" value = " /> <property name =" url "value =" /> <property name = "ชื่อผู้ใช้" value = " /> <property name =" password "value =" DynamicDataSource.java ในโครงการของคุณ <property name = "TargetDataSources"> <แผนที่ key-type = "java.lang.string"> <ค่ารายการ ref = "ds_admin" key = "ds1"> </entry> <entry value-ref = "ds_partner" โดยค่าเริ่มต้น-> <property name = "defaultTargetDataSource" ref = "ds_admin"> </property> </ebean>dataSourceContextholder.java
Public Class DataSourceContextholder {Private Static Final ThreadLocal <String> ContexTholder = ใหม่ ThreadLocal <String> (); โมฆะคงที่สาธารณะ setDbType (สตริง dbType) {contextholder.set (dbType); } สตริงคงที่สาธารณะ getDbType () {return ((สตริง) contextholder.get ()); } โมฆะสาธารณะคงที่ cleardbtype () {contextholder.remove (); - DataSourcetype.java (ตั้งค่าตัวแปรคงที่)
DataSourcetype {// ฐานข้อมูลเริ่มต้นสตริงสุดท้ายคงที่สตริงสุดท้าย source_admin = "ds1"; // ฐานข้อมูลที่สอง ID ใน ApplicationContext.xml สตริงสุดท้ายคงที่สาธารณะ source_partner = "ds2";}ถัดไปคือคีย์ DynamicDataSource.java มันสืบทอดวิธีการนามธรรมที่กำหนดไว้ในกรณีที่ AbstractroutingDataSource ซึ่งเป็นแกนหลักของการใช้เส้นทางของแหล่งข้อมูล วิธีนี้แทนที่
นำเข้า org.springframework.jdbc.datasource.lookup.abstractroutingDatasource; DynamicDataSource ระดับสาธารณะ -
ข้างต้นเป็นการวิเคราะห์ตัวอย่างการใช้งานของ MVC MyBatis Multi-Data แหล่งข้อมูลที่แนะนำโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!