Rumah php教程 php手册 Spring双数据库配置

Spring双数据库配置

Jun 13, 2016 am 11:15 AM
spring untuk guna sepasang boleh berbilang capai kami pangkalan data daripada Konfigurasi

有时候我们可能在一个项目中使用两个数据库,为了实现使用两个或多个数据库的功能,我们需要在Spring中配置相关信息。

首先是添加配置文件conf.properties

<ol class="dp-c">
<li class="alt"><span><span><bean><span class="string">"propertyConfigurer"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"</span><span>>  </span></bean></span></span></li>
<li><span>        <property><span class="string">"locations"</span><span>>  </span></property></span></li>
<li class="alt"><span>            <list>  </list></span></li>
<li><span>                <value>classpath:config.properties</value>  </span></li>
<li class="alt"><span>              </span></li>
<li><span>          </span></li>
<li class="alt"><span> </span></li>
</ol>
Salin selepas log masuk

其次是添加数据源(${...}对应的是conf.properties中的配置信息)

<ol class="dp-c">
<li class="alt"><span><span><!--对应数据A的数据源-->  </span></span></li>
<li><span><bean><span class="string">"dataSource_A"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">"org.apache.commons.dbcp.BasicDataSource"</span><span>>  </span></bean></span></li>
<li class="alt"><span>        <property><span class="string">"driverClassName"</span><span> value=</span><span class="string">"${A.driver_class}"</span><span> />  </span></property></span></li>
<li><span>        <property><span class="string">"url"</span><span> value=</span><span class="string">"${A.url}"</span><span> />  </span></property></span></li>
<li class="alt"><span>        <property><span class="string">"username"</span><span> value=</span><span class="string">"${A.username}"</span><span> />  </span></property></span></li>
<li><span>        <property><span class="string">"password"</span><span> value=</span><span class="string">"${A.password}"</span><span> />  </span></property></span></li>
<li class="alt"><span>  </span></li>
<li><span><!--对应数据库B的数据源-->  </span></li>
<li class="alt"><span><bean><span class="string">"dataSource_B"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">"org.apache.commons.dbcp.BasicDataSource"</span><span>>  </span></bean></span></li>
<li><span>        <property><span class="string">"driverClassName"</span><span> value=</span><span class="string">"${B.driver_class}"</span><span> />  </span></property></span></li>
<li class="alt"><span>        <property><span class="string">"url"</span><span> value=</span><span class="string">"${B.url}"</span><span> />  </span></property></span></li>
<li><span>        <property><span class="string">"username"</span><span> value=</span><span class="string">"${B.username}"</span><span> />  </span></property></span></li>
<li class="alt"><span>        <property><span class="string">"password"</span><span> value=</span><span class="string">"${B.password}"</span><span> />  </span></property></span></li>
<li><span> </span></li>
</ol>
Salin selepas log masuk

之后是添加对应的sessionFactory:

<ol class="dp-c">
<li class="alt"><span><span><!-- A的sessionFactory -->  </span></span></li>
<li><span>    <bean><span class="string">"sessionFactory_A"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">"moretv.commons.spring.hibernate3.AnnotationSessionFactoryBean"</span><span>>  </span></bean></span></li>
<li class="alt"><span>        <property><span class="string">"dataSource"</span><span> ref=</span><span class="string">"dataSource_A"</span><span>/>  </span></property></span></li>
<li><span>      </span></li>
<li class="alt"><span><!-- B的sessionFactory -->  </span></li>
<li><span>    <bean><span class="string">"sessionFactory_B"</span><span> </span><span class="keyword">class</span><span>=</span><span class="string">"moretv.commons.spring.hibernate3.AnnotationSessionFactoryBean"</span><span>>  </span></bean></span></li>
<li class="alt"><span>        <property><span class="string">"dataSource"</span><span> ref=</span><span class="string">"dataSource_B"</span><span>/>      </span></property></span></li>
<li><span>     </span></li>
</ol>
Salin selepas log masuk

在项目中的dao层有时会出现这样的配置信息:

<ol class="dp-c">
<li class="alt"><span><span><bean><span class="string">"XDao"</span><span> </span><span class="keyword">class</span><span> = </span><span class="string">"xxx.xxx.xDaoImpl"</span><span>>  </span></bean></span></span></li>
<li><span><property><span class="string">"sessionFactory"</span><span> ref=</span><span class="string">"sessionFactory"</span><span>></span></property>  </span></li>
<li class="alt"><span> </span></li>
</ol>
Salin selepas log masuk

为了实现使用两个不同的数据库,可以改成

<ol class="dp-c">
<li class="alt"><span><span><span><span class="string">"font-family:'sans serif', tahoma, verdana, helvetica;font-size:13px;line-height:19px;white-space:normal;background-color:#ffffff;"</span><span>> </span><span><span class="string">"font-family:'sans serif', tahoma, verdana, helvetica;white-space:normal;background-color:#ffffff;"</span><span>><!--使用A数据库的DAO--></span> <bean><span class="string">"XDao"</span><span> </span><span class="keyword">class</span><span> = </span><span class="string">"xxx.xxx.xDaoImpl"</span><span>>  </span></bean></span></span></span></span></li>
<li><span><property><span class="string">"sessionFactory"</span><span> ref=</span><span class="string">"sessionFactory_A"</span><span>></span></property>  </span></li>
<li class="alt"><span>  </span></li>
<li><span><!--使用B数据库的DAO-->  </span></li>
<li class="alt"><span><bean><span class="string">"XDao"</span><span> </span><span class="keyword">class</span><span> = </span><span class="string">"xxx.xxx.xDaoImpl"</span><span>>  </span></bean></span></li>
<li><span><property><span class="string">"sessionFactory"</span><span> ref=</span><span class="string">"sessionFactory_B"</span><span>></span></property>  </span></li>
<li class="alt"><span> </span></li>
</ol>
Salin selepas log masuk

这样就能实现双数据库了。。。。


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1662
14
Tutorial PHP
1261
29
Tutorial C#
1234
24
iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak Jul 18, 2024 am 05:48 AM

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Jun 04, 2024 pm 01:42 PM

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Jun 05, 2024 pm 02:16 PM

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.

Apakah Bitget Launchpool? Bagaimana untuk menggunakan Bitget Launchpool? Apakah Bitget Launchpool? Bagaimana untuk menggunakan Bitget Launchpool? Jun 07, 2024 pm 12:06 PM

BitgetLaunchpool ialah platform dinamik yang direka untuk semua peminat mata wang kripto. BitgetLaunchpool menonjol dengan produknya yang unik. Di sini, anda boleh mempertaruhkan token anda untuk membuka kunci lebih banyak ganjaran, termasuk airdrop, ganjaran yang tinggi dan kumpulan hadiah yang murah eksklusif untuk peserta awal. Apakah BitgetLaunchpool? BitgetLaunchpool ialah platform mata wang kripto di mana token boleh dipertaruhkan dan diperoleh dengan terma dan syarat yang mesra pengguna. Dengan melabur BGB atau token lain dalam Launchpool, pengguna berpeluang menerima airdrop percuma, pendapatan dan mengambil bahagian dalam kumpulan bonus yang murah hati. Pendapatan daripada aset yang dicagarkan dikira dalam masa T+1 jam dan ganjaran adalah berdasarkan

Bagaimana untuk menggunakan fungsi panggil balik pangkalan data di Golang? Bagaimana untuk menggunakan fungsi panggil balik pangkalan data di Golang? Jun 03, 2024 pm 02:20 PM

Menggunakan fungsi panggil balik pangkalan data di Golang boleh mencapai: melaksanakan kod tersuai selepas operasi pangkalan data yang ditentukan selesai. Tambah tingkah laku tersuai melalui fungsi berasingan tanpa menulis kod tambahan. Fungsi panggil balik tersedia untuk operasi memasukkan, mengemas kini, memadam dan pertanyaan. Anda mesti menggunakan fungsi sql.Exec, sql.QueryRow atau sql.Query untuk menggunakan fungsi panggil balik.

Bagaimana untuk menyambung ke pangkalan data jauh menggunakan Golang? Bagaimana untuk menyambung ke pangkalan data jauh menggunakan Golang? Jun 01, 2024 pm 08:31 PM

Melalui pakej pangkalan data/sql perpustakaan standard Go, anda boleh menyambung ke pangkalan data jauh seperti MySQL, PostgreSQL atau SQLite: buat rentetan sambungan yang mengandungi maklumat sambungan pangkalan data. Gunakan fungsi sql.Open() untuk membuka sambungan pangkalan data. Lakukan operasi pangkalan data seperti pertanyaan SQL dan operasi sisipan. Gunakan tangguh untuk menutup sambungan pangkalan data untuk mengeluarkan sumber.

Bagaimana untuk menyimpan data JSON ke pangkalan data di Golang? Bagaimana untuk menyimpan data JSON ke pangkalan data di Golang? Jun 06, 2024 am 11:24 AM

Data JSON boleh disimpan ke dalam pangkalan data MySQL dengan menggunakan perpustakaan gjson atau fungsi json.Unmarshal. Pustaka gjson menyediakan kaedah kemudahan untuk menghuraikan medan JSON dan fungsi json.Unmarshal memerlukan penuding jenis sasaran kepada data JSON unmarshal. Kedua-dua kaedah memerlukan penyediaan pernyataan SQL dan melaksanakan operasi sisipan untuk mengekalkan data ke dalam pangkalan data.

Bagaimana untuk mengendalikan sambungan dan operasi pangkalan data menggunakan C++? Bagaimana untuk mengendalikan sambungan dan operasi pangkalan data menggunakan C++? Jun 01, 2024 pm 07:24 PM

Gunakan perpustakaan DataAccessObjects (DAO) dalam C++ untuk menyambung dan mengendalikan pangkalan data, termasuk mewujudkan sambungan pangkalan data, melaksanakan pertanyaan SQL, memasukkan rekod baharu dan mengemas kini rekod sedia ada. Langkah-langkah khusus ialah: 1. Sertakan penyata perpustakaan yang diperlukan 2. Buka fail pangkalan data 3. Buat objek Recordset untuk melaksanakan pertanyaan SQL atau memanipulasi data 4. Melintasi keputusan atau mengemas kini rekod mengikut keperluan tertentu;

See all articles