MySQL - JDBC는 마스터 슬레이브를 구현합니다.
오늘은 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)!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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

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

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

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

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