MySQL之——JDBC 实现Master Slave
今天,给大家带来一段JDBC实现Master Slave的代码,好了,不多说了,我们直接上代码吧。
具体代码如下:
package com.lyz.test; import java.beans.PropertyVetoException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import com.mchange.v2.c3p0.ComboPooledDataSource; /** * Mysql JDBC 实现Master Slave * * @author liuyazhuang * @datetime 2016-11-17 * */ public class ReplicationDriverTest { private static final String URL = "jdbc:mysql://127.0.0.1:3306/test1?useUnicode=true&characterEncoding=utf8"; private static final String DRIVER = "com.mysql.jdbc.Driver"; /* Master Slave */ private static final String replicationURL = "jdbc:mysql:replication://localhost:3306,10.2.15.123:3306/test?useUnicode=true&characterEncoding=utf8"; /* 负载平衡 */ private static final String loadBalanceURL = "jdbc:mysql:loadbalance://localhost:3306,10.2.15.123:3306/test?useUnicode=true&characterEncoding=utf8"; private static final String REPLICATION_DRIVER = "com.mysql.jdbc.ReplicationDriver"; public static void main(String[] args) throws SQLException { // oneDB(); // replicationDB(URL); // replicationDB(replicationURL); replicationDB(loadBalanceURL); } public static void replicationDB(String url) throws SQLException { ComboPooledDataSource dataSource = new ComboPooledDataSource(); try { dataSource.setDriverClass(REPLICATION_DRIVER); } catch (PropertyVetoException e1) { e1.printStackTrace(); } dataSource.setJdbcUrl(url); dataSource.setMaxPoolSize(10); dataSource.setMinPoolSize(10); dataSource.setUser("kevin"); dataSource.setPassword("123456"); dataSource.setCheckoutTimeout(1000); dataSource.setDataSourceName("datasource"); dataSource.setInitialPoolSize(10); try { Connection connection = dataSource.getConnection(); connection.setReadOnly(true);//设置为只读,代理类将会获取Slave数据库连接,否则设置Master连接 java.sql.PreparedStatement pStatement_ = connection.prepareStatement("SELECT user_id, username, PASSWORD, email FROM account_0 LIMIT 0,3;"); ResultSet rs = pStatement_.executeQuery(); while (rs.next()) { System.out.println(rs.getInt(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3) + "\t" + rs.getString(4)); } rs.close(); pStatement_.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); } Connection connection = dataSource.getConnection(); connection.setReadOnly(false);//设置为只读,代理类将会获取Slave数据库连接,否则设置Master连接 java.sql.PreparedStatement pStatement_ = connection.prepareStatement("UPDATE account_0 SET username = 'kevin' , PASSWORD = 'password' ,email = 'xxxx' WHERE user_id = '1001' ;"); int row = pStatement_.executeUpdate(); System.out.println(row); pStatement_.close(); connection.close(); } public static void oneDB() throws SQLException { ComboPooledDataSource dataSource = new ComboPooledDataSource(); try { dataSource.setDriverClass(DRIVER); } catch (PropertyVetoException e1) { e1.printStackTrace(); } dataSource.setJdbcUrl(URL); dataSource.setMaxPoolSize(10); dataSource.setMinPoolSize(10); dataSource.setUser("root"); dataSource.setPassword("123456"); dataSource.setCheckoutTimeout(1000); dataSource.setDataSourceName("datasource00"); dataSource.setInitialPoolSize(10); try { Connection connection = dataSource.getConnection(); java.sql.PreparedStatement pStatement_ = connection.prepareStatement("SELECT * FROM user limit 1"); ResultSet rs = pStatement_.executeQuery(); while (rs.next()) { System.out.println(rs.getInt(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3) + "\t" + rs.getString(4)); } rs.close(); pStatement_.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); } Connection connection = dataSource.getConnection(); java.sql.PreparedStatement pStatement_ = connection.prepareStatement("UPDATE user SET NAME = 'KEVIN-LUAN' , sex = '1' , age = '89' WHERE id = 16 ;"); int row = pStatement_.executeUpdate(); System.out.println(row); pStatement_.close(); connection.close(); } }
以上就是MySQL之——JDBC 实现Master Slave的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Perbezaan antara tuan dan tuan rumah ialah: 1. Hos boleh memainkan peranan sebagai pelanggan atau pelayan, manakala tuan adalah pelayan pusat yang bertanggungjawab untuk menyelaras dan menguruskan pelayan hamba lain dalam sistem teragih; biasanya mempunyai kuasa pemprosesan yang lebih tinggi dan sumber digunakan untuk memproses dan mengagihkan tugas, mengurus data, dan mengekalkan kestabilan keseluruhan sistem 3. Hos ialah nod dalam rangkaian, dan tuan adalah pelayan yang memainkan peranan utama dalam sistem teragih.

Selepas Java8-291, TLS1.1 dinyahdayakan, supaya JDBC tidak dapat menyambung ke SqlServer2008 menggunakan SSL. Berikut adalah penyelesaian untuk mengubah suai fail java.security jre ia adalah jre, pergi ke {JAVA_HOME}/jre/ Dalam lib/security, sebagai contoh????C:\ProgramFiles\Java\jre1.8.0_301\lib\security Jika ia adalah versi mudah alih bebas pemasangan Eclipse , cari java.security dalam folder pemasangan, seperti????xxx\plugins \org

1. Jelaskan bahawa dalam JDBC, kaedah executeBatch boleh melaksanakan berbilang penyata dml dalam kelompok, dan kecekapan adalah lebih tinggi daripada melaksanakan executeUpdate secara individu Apakah prinsipnya? Bagaimana untuk melaksanakan pelaksanaan batch dalam mysql dan oracle? Artikel ini akan memperkenalkan kepada anda prinsip di sebalik ini. 2. Pengenalan Eksperimen Eksperimen ini akan dijalankan melalui tiga langkah berikut: a. Merekodkan penggunaan masa pelaksanaan batch dan pelaksanaan tunggal jdbc dalam mysql b. c. Catatkan pelaksanaan kumpulan dan pelaksanaan tunggal oracleplsql versi java dan pangkalan data yang memakan masa adalah seperti berikut: Java17, Mysql8, Oracle.

Dengan aplikasi Java yang meluas, ralat JDBC sering berlaku apabila program Java menyambung ke pangkalan data. JDBC (JavaDatabaseConnectivity) ialah antara muka pengaturcaraan dalam Java yang digunakan untuk menyambung ke pangkalan data Oleh itu, ralat JDBC ialah ralat yang dihadapi apabila program Java berinteraksi dengan pangkalan data. Berikut ialah beberapa ralat JDBC yang paling biasa dan cara menyelesaikan dan mengelakkannya. ClassNotFoundException Ini adalah JDBC yang paling biasa

1. Prasyarat untuk pengaturcaraan pangkalan data Bahasa pengaturcaraan, seperti Java, C, C++, Python dan pangkalan data lain, seperti Oracle, MySQL, SQLServer dan pakej pemacu pangkalan data lain: Pangkalan data yang berbeza menyediakan pakej pemacu pangkalan data yang berbeza yang sepadan dengan bahasa pengaturcaraan yang berbeza : MySQL menyediakan pakej pemacu Java mysql-connector-java, yang diperlukan untuk mengendalikan MySQL berdasarkan Java. Begitu juga, untuk mengendalikan pangkalan data Oracle berdasarkan Java, pakej pemacu pangkalan data Oracle ojdbc diperlukan. 2. Pengaturcaraan pangkalan data Java: JDBCJDBC, JavaDatabaseConnectiv

Dalam tahun-tahun kebelakangan ini, bahasa Java telah digunakan dengan lebih meluas, dan JDBCAPI ialah kaedah kreatif untuk aplikasi Java untuk berinteraksi dengan pangkalan data JDBC adalah berdasarkan standard sambungan pangkalan data terbuka yang dipanggil ODBC, yang membolehkan aplikasi Java menyambung ke mana-mana pangkalan data sistem pengurusan (DBMS). Antaranya, MySQL ialah sistem pengurusan pangkalan data yang popular. Walau bagaimanapun, pembangun juga akan menghadapi beberapa masalah biasa apabila menyambung ke pangkalan data MySQL Artikel ini bertujuan untuk memperkenalkan sambungan JDBCAPI M

Perbezaan antara Hibernate dan JDBC: Tahap abstraksi: Hibernate menyediakan pemetaan objek peringkat tinggi dan penjanaan pertanyaan, manakala JDBC memerlukan pengekodan manual. Pemetaan hubungan objek: Hibernate memetakan objek Java dan jadual pangkalan data, manakala JDBC tidak menyediakan fungsi ini. Penjanaan pertanyaan: Hibernate menggunakan HQL untuk memudahkan penjanaan pertanyaan, manakala JDBC memerlukan menulis pertanyaan SQL yang kompleks. Pengurusan transaksi: Hibernate menguruskan transaksi secara automatik, manakala JDBC memerlukan pengurusan manual.

Konsep pengenalan asas JDBC JDBC (JavaDataBaseConnectivity, sambungan pangkalan data java) ialah API Java yang digunakan untuk melaksanakan pernyataan SQL dan boleh menyediakan akses bersatu kepada pelbagai pangkalan data hubungan Ia terdiri daripada satu set kelas dan antara muka yang ditulis dalam bahasa Java. Spesifikasi JDBC mentakrifkan antara muka, dan pelaksanaan khusus dilaksanakan oleh vendor pangkalan data utama. JDBC ialah spesifikasi standard untuk Java untuk mengakses pangkalan data Bagaimana untuk mengendalikan pangkalan data memerlukan kelas pelaksanaan khusus, iaitu pemacu pangkalan data. Setiap pengeluar pangkalan data menulis pemacu pangkalan datanya sendiri mengikut format komunikasi pangkalan datanya sendiri. Jadi kita hanya perlu dapat menghubungi J
