MySQL - JDBC implements Master Slave
Today, I will bring you a piece of JDBC code to implement Master Slave. Well, without further explanation, let’s go directly to the code.
The specific code is as follows:
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(); } }
The above is the content of MySQL-JDBC to implement Master Slave. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The differences between master and host are: 1. Host can play the role of client or server, while master is the central server responsible for coordinating and managing other slave servers in a distributed system; 2. Host is an ordinary computer device, and master usually has Higher processing power and resources are used to process and distribute tasks, manage data, and maintain the stability of the entire system; 3. The host is a node in the network, and the master is the server that plays a core role in the distributed system.

After Java8-291, TLS1.1 is disabled, so that JDBC cannot connect to SqlServer2008 using SSL. What should I do? The following is the solution to modify the java.security file 1. Find the java.security file of jre. If it is jre, go to {JAVA_HOME}/jre/ In lib/security, for example????C:\ProgramFiles\Java\jre1.8.0_301\lib\security. If it is the Eclipse green installation-free portable version, search for java.security in the installation folder, such as????xxx\plugins \org

With the widespread application of Java, JDBC errors often occur when Java programs connect to databases. JDBC (JavaDatabaseConnectivity) is a programming interface in Java used to connect to a database. Therefore, a JDBC error is an error encountered when a Java program interacts with a database. Here are some of the most common JDBC errors and how to solve and avoid them. ClassNotFoundException This is the most common JDBC

1. Explain that in JDBC, the executeBatch method can execute multiple dml statements in batches, and the efficiency is much higher than executing executeUpdate individually. What is the principle? How to implement batch execution in mysql and oracle? This article will introduce to you the principle behind this. 2. Experiment introduction This experiment will be carried out through the following three steps: a. Record the time consuming of jdbc batch execution and single execution in mysql; b. Record the time consuming of jdbc batch execution and single execution in oracle; c. Record the batch execution and single execution of oracleplsql. The execution time-consuming related java and database versions are as follows: Java17, Mysql8, Oracle

1. Prerequisites for database programming Programming languages, such as Java, C, C++, Python and other databases, such as Oracle, MySQL, SQLServer and other database driver packages: Different databases provide different database driver packages corresponding to different programming languages. For example: MySQL provides the Java driver package mysql-connector-java, which is required to operate MySQL based on Java. Similarly, to operate Oracle database based on Java, Oracle's database driver package ojdbc is required. 2. Java database programming: JDBCJDBC, JavaDatabaseConnectiv

In recent years, the application of Java language has become more and more widespread, and JDBCAPI is a creative method for Java applications to interact with databases. JDBC is based on an open database connection standard called ODBC, which enables Java applications to connect to any database. management system (DBMS). Among them, MySQL is a popular database management system. However, developers will also encounter some common problems when connecting to MySQL databases. This article aims to introduce the JDBCAPI connection M

Differences between Hibernate and JDBC: Abstraction level: Hibernate provides high-level object mapping and query generation, while JDBC requires manual coding. Object-relational mapping: Hibernate maps Java objects and database tables, while JDBC does not provide this functionality. Query generation: Hibernate uses HQL to simplify query generation, while JDBC requires writing complex SQL queries. Transaction management: Hibernate automatically manages transactions, while JDBC requires manual management.

Basic introductory concepts of JDBC JDBC (JavaDataBaseConnectivity, java database connection) is a Java API used to execute SQL statements and can provide unified access to a variety of relational databases. It is composed of a set of classes and interfaces written in the Java language. The JDBC specification defines the interface, and the specific implementation is implemented by major database vendors. JDBC is the standard specification for Java to access databases. How to actually operate the database requires specific implementation classes, that is, database drivers. Each database manufacturer writes its own database driver according to the communication format of its own database. So we just need to be able to call J
