mysql을 java와 연결하는 방법에는 다섯 가지가 있습니다.
(동영상 공유 학습: java 교육 동영상)
첫 번째 방법: 속성 클래스에 사용자 이름과 비밀번호를 캡슐화합니다.
먼저 가져오기 데이터베이스 연결 패키지에 대해서는 의심의 여지가 없습니다. JDBC 드라이버 드라이버를 만듭니다. 생성된 문자열 URL에 데이터베이스의 URL(예: MySQL 사용)을 저장합니다. mysql 버전이 8.0 미만인 경우 URL 저장 형식은 다음과 같습니다.
String url = "jdbc:mysql://localhost:3306/test"
mysql 버전이 8.0 이상인 경우 URL 저장 형식은 다음과 같습니다.
String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
여기에서 사용된 mysql 버전은 8.0이므로 시간대는 마지막에 추가됩니다. 그렇지 않으면 기본값은 베이징 시간보다 8시간 느린 UTC 시간대입니다.
그런 다음 Properties 클래스에 mysql 데이터베이스에 해당하는 사용자와 비밀번호를 캡슐화하고 마지막으로 Connection 클래스를 통해 데이터베이스 연결을 생성합니다.
Driver driver = new com.mysql.jdbc.Driver(); String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"; /* 将用户名和密码封装在Properties中 */ Properties info = new Properties(); info.setProperty("user","root"); info.setProperty("password","ab20010322"); Connection conn = driver.connect(url,info); System.out.println(conn);
두 번째 방법: 첫 번째 방법을 기반으로 사용합니다. 리플렉션을 사용하여 드라이버 구현
첫 번째 방법을
Driver driver = new com.mysql.jdbc.Driver();
로 변경:
Class clazz = Class.forName("com.mysql.jdbc.Driver"); Driver driver = (Driver) clazz.newInstance();
첫 번째 방법과 비교하면 두 구현은 동일한 기능을 갖지만 두 번째 방법은 리플렉션을 사용하여 드라이버를 구현하므로 이를 피할 수 있습니다. 세 번째 방법을 사용하면 타사 인터페이스를 통해 코드의 이식성이 향상됩니다. 두 번째 방법의 소스 코드는 다음과 같습니다.
/* 使用反射获取Driver类实例 与Driver driver = new com.mysql.jdbc.Driver()功能相同,只是不适用第三方接口,使得程序具有更好的可移植性 */ Class clazz = Class.forName("com.mysql.jdbc.Driver"); Driver driver = (Driver) clazz.newInstance(); /* 提供要连接的数据库 */ String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"; /* 提供需要的用户名和密码 */ Properties info = new Properties(); info.setProperty("user","root"); info.setProperty("password","ab20010322"); Connection connection = driver.connect(url,info); System.out.println(connection);
세 번째 방법: Drive 대신 DriveManager(클래스)를 사용합니다
소스 코드는 다음과 같습니다.
Class clazz = Class.forName("com.mysql.jdbc.Driver"); Driver driver = (Driver) clazz.newInstance(); /* 提供连接信息 */ String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"; String user = "root"; String password = "ab20010322"; /* 注册驱动 */ DriverManager.registerDriver(driver); /* 获取连接 */ System.out.println(DriverManager.getConnection(url,user,password));
네 번째 방법: 로드 방법 숨기기 드라이버
메서드 숨기기 세 번째 중학교에서는
Driver driver = (Driver) clazz.newInstance(); DriverManager.registerDriver(driver);
를
Class.forName("com.mysql.jdbc.Driver");
로 변경합니다. 이렇게 하면 드라이버 로딩 상태를 숨길 수 있습니다
소스 코드는 다음과 같습니다.
String url = "jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"; String user = "root"; String password = "ab20010322"; /* 加载Driver */ Class.forName("com.mysql.jdbc.Driver");// Driver driver = (Driver) clazz.newInstance();// DriverManager.registerDriver(driver); /* 获取连接 */ System.out.println(DriverManager.getConnection(url,user,password));
방법 5: Put the jdbc.properties 구성 파일에는 데이터베이스에서 요구하는 기본 정보
위 4가지 연결 방식의 경우 데이터베이스 정보가 노출됩니다. 그렇게 하는 것은 안전하지 않습니다. 이때 데이터베이스가 필요로 하는 기본 정보를 jdbc.properties 구성 파일에 넣은 후, InputStream을 통해 읽어 와야 합니다. 이는 안전하며 가장 일반적으로 사용되는 데이터베이스 연결 방법입니다.
jdbc.properties 구성 파일은 다음과 같습니다.
user=root password=123456url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai Driver=com.mysql.cj.jdbc.Driver
참고:
1 구성 파일은 src 폴더에 있어야 합니다
2. 사용자 및 비밀번호에 대한 데이터베이스 사용자 이름 및 비밀번호
3. mysql8.0 이상을 사용하는 경우 url 파일 구성 시 마지막에 시간대를 추가해야 합니다. 그렇지 않으면 오류가 보고됩니다.
소스 코드는 다음과 같습니다. 다음과 같습니다:
InputStream inputStream = ConnectionTest.class.getClassLoader().getResourceAsStream("jdbc.properties"); Properties info = new Properties(); info.load(inputStream); String user = info.getProperty("user"); String password = info.getProperty("password"); String url = info.getProperty("url"); String driver = info.getProperty("Driver"); /* 加载驱动 */ Class.forName(driver); /* 获取连接 */ Connection conn = DriverManager.getConnection(url,user,password); System.out.println(conn);
관련 권장 사항: Java 입문 튜토리얼
위 내용은 java는 mysql에 몇 가지 방법으로 연결해야 합니까? 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

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