데이터 베이스 MySQL 튜토리얼 MySQL - JDBC는 마스터 슬레이브를 구현합니다.

MySQL - JDBC는 마스터 슬레이브를 구현합니다.

Jan 21, 2017 pm 01:11 PM

오늘은 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();
	}
}
로그인 후 복사

위는 Master Slave를 구현하기 위한 MySQL-JDBC의 내용이며, 보다 자세한 내용은 PHP 중국어 홈페이지(www. php.cn)!


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

마스터와 호스트의 차이점은 무엇입니까 마스터와 호스트의 차이점은 무엇입니까 Sep 28, 2023 pm 01:34 PM

마스터와 호스트의 차이점은 다음과 같습니다. 1. 호스트는 클라이언트 또는 서버 역할을 할 수 있지만 마스터는 분산 시스템에서 다른 슬레이브 서버를 조정하고 관리하는 중앙 서버입니다. 2. 호스트는 일반 컴퓨터 장치이며 마스터입니다. 일반적으로 처리 능력이 더 높으며 작업을 처리 및 분산하고 데이터를 관리하며 전체 시스템의 안정성을 유지하는 데 사용됩니다. 3. 호스트는 네트워크의 노드이고 마스터는 네트워크에서 핵심 역할을 하는 서버입니다. 분산 시스템.

Java8(291) 이후에는 TLS1.1이 비활성화되고 JDBC가 SSL을 사용하여 SqlServer2008에 연결할 수 없습니다. 문제를 해결하는 방법은 무엇입니까? Java8(291) 이후에는 TLS1.1이 비활성화되고 JDBC가 SSL을 사용하여 SqlServer2008에 연결할 수 없습니다. 문제를 해결하는 방법은 무엇입니까? May 16, 2023 pm 11:55 PM

Java8-291 이후에는 TLS1.1이 비활성화되어 JDBC가 SSL을 사용하여 SqlServer2008에 연결할 수 없습니다. java.security 파일을 수정하는 방법은 무엇입니까? 1. jre의 java.security 파일을 찾으십시오. jre인 경우 lib/security의 {JAVA_HOME}/jre/로 이동합니다. 예를 들어 ????C:\ProgramFiles\Java\jre1.8.0_301\lib\security입니다. Eclipse 그린 설치가 필요 없는 휴대용 버전인 경우. , 설치 폴더(예:????xxx\plugins\org)에서 java.security를 ​​검색하세요.

Java 오류: JDBC 오류, 해결 및 방지 방법 Java 오류: JDBC 오류, 해결 및 방지 방법 Jun 24, 2023 pm 02:40 PM

Java가 널리 적용되면서 Java 프로그램이 데이터베이스에 연결할 때 JDBC 오류가 자주 발생합니다. JDBC(JavaDatabaseConnectivity)는 데이터베이스에 연결하는 데 사용되는 Java의 프로그래밍 인터페이스입니다. 따라서 JDBC 오류는 Java 프로그램이 데이터베이스와 상호 작용할 때 발생하는 오류입니다. 다음은 가장 일반적인 JDBC 오류 중 일부와 이를 해결하고 방지하는 방법입니다. ClassNotFoundException 이것은 가장 일반적인 JDBC입니다.

Java에서 JDBC 일괄 삽입을 구현하는 방법 Java에서 JDBC 일괄 삽입을 구현하는 방법 May 18, 2023 am 10:02 AM

1. JDBC에서 ExecuteBatch 메소드는 여러 개의 dml 문을 일괄적으로 실행할 수 있으며, 개별적으로 ExecuteUpdate를 실행하는 것보다 효율성이 훨씬 높다는 점을 설명합니다. mysql과 oracle에서 일괄 실행을 구현하는 방법은 무엇입니까? 이 기사에서는 이에 대한 원리를 소개합니다. 2. 실험 소개 이 실험은 다음 세 단계를 통해 수행됩니다: a. mysql에서 jdbc의 일괄 실행과 단일 실행에 소요되는 시간을 기록합니다. b. oracle에서 jdbc의 일괄 실행과 단일 실행에 소요되는 시간을 기록합니다. c. oracleplsql의 일괄 실행과 단일 실행을 기록합니다. 실행 시간이 많이 걸리는 관련 Java 및 데이터베이스 버전은 다음과 같습니다. Java17, Mysql8, Oracle

JDBC API를 사용하여 MySQL 데이터베이스에 연결하는 Java에서 발생하는 일반적인 문제 JDBC API를 사용하여 MySQL 데이터베이스에 연결하는 Java에서 발생하는 일반적인 문제 Jun 10, 2023 am 09:55 AM

최근 몇 년 동안 Java 언어가 점점 더 널리 사용되고 있으며 JDBCAPI는 Java 응용 프로그램이 데이터베이스와 상호 작용하는 창의적인 방법입니다. JDBC는 Java 응용 프로그램이 모든 데이터베이스에 연결할 수 있도록 하는 ODBC라는 개방형 데이터베이스 연결 표준을 기반으로 합니다. . 관리 시스템(DBMS). 그 중 MySQL은 널리 사용되는 데이터베이스 관리 시스템입니다. 그러나 개발자는 MySQL 데이터베이스에 연결할 때 몇 가지 일반적인 문제에 직면하게 됩니다. 이 기사는 JDBCAPI 연결 M을 소개하는 것을 목표로 합니다.

MySQL에서 JDBC 프로그래밍을 분석하는 방법 MySQL에서 JDBC 프로그래밍을 분석하는 방법 May 30, 2023 pm 10:19 PM

1. 데이터베이스 프로그래밍을 위한 전제 조건 Java, C, C++, Python 및 Oracle, MySQL, SQLServer와 같은 기타 데이터베이스 및 기타 데이터베이스 드라이버 패키지와 같은 프로그래밍 언어: 예를 들어 다양한 데이터베이스는 다양한 프로그래밍 언어에 해당하는 다양한 데이터베이스 드라이버 패키지를 제공합니다. : MySQL은 Java 기반으로 MySQL을 운영하는데 필요한 Java 드라이버 패키지 mysql-connector-java를 제공한다. 마찬가지로 Java 기반의 Oracle 데이터베이스를 운영하려면 Oracle의 데이터베이스 드라이버 패키지 ojdbc가 필요합니다. 2. 자바 데이터베이스 프로그래밍: JDBCJDBC, JavaDatabaseConnectiv

Hibernate 프레임워크와 JDBC의 차이점은 무엇입니까? Hibernate 프레임워크와 JDBC의 차이점은 무엇입니까? Apr 17, 2024 am 10:33 AM

Hibernate와 JDBC의 차이점: 추상화 수준: Hibernate는 높은 수준의 객체 매핑과 쿼리 생성을 제공하는 반면 JDBC는 수동 코딩이 필요합니다. 객체 관계형 매핑: Hibernate는 Java 객체와 데이터베이스 테이블을 매핑하지만 JDBC는 이 기능을 제공하지 않습니다. 쿼리 생성: Hibernate는 쿼리 생성을 단순화하기 위해 HQL을 사용하는 반면, JDBC는 복잡한 SQL 쿼리 작성이 필요합니다. 트랜잭션 관리: Hibernate는 트랜잭션을 자동으로 관리하지만 JDBC는 수동 관리가 필요합니다.

MySQL이 JDBC를 구현하는 방법 MySQL이 JDBC를 구현하는 방법 May 27, 2023 am 11:06 AM

JDBC의 기본 입문 개념 JDBC(JavaDataBaseConnectivity, Java 데이터베이스 연결)는 SQL 문을 실행하는 데 사용되는 Java API이며 다양한 관계형 데이터베이스에 대한 통합 액세스를 제공할 수 있습니다. Java 언어로 작성된 클래스 및 인터페이스 집합으로 구성됩니다.  JDBC 사양은 인터페이스를 정의하며, 구체적인 구현은 주요 데이터베이스 공급업체에서 구현합니다. JDBC는 Java가 데이터베이스에 액세스하기 위한 표준 사양입니다. 실제로 데이터베이스를 작동하려면 특정 구현 클래스, 즉 데이터베이스 드라이버가 필요합니다. 각 데이터베이스 제조업체는 자체 데이터베이스의 통신 형식에 따라 자체 데이터베이스 드라이버를 작성합니다. 그러니 우리는 J에게 전화할 수만 있으면 됩니다.

See all articles