検索
ホームページJava&#&はじめるJava は mysql に接続する方法が何通りありますか?違いは何ですか?

Java は mysql に接続する方法が何通りありますか?違いは何ですか?

Java を mysql に接続するには、次の 5 つの方法があります。

(学習ビデオ共有: java 教育ビデオ )

最初の方法: ユーザー名とパスワードを Properties クラスにカプセル化します。

まず、データベース接続パッケージをインポートすることに疑いの余地はありません。 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 です。そのため、タイム ゾーンが最後に追加されます。それ以外の場合、デフォルトは UTC タイム ゾーンで、北京時間より 8 時間遅れます。

次に、mysql データベースに対応するユーザーとパスワードを Properties クラスにカプセル化し、最後に 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);

2 番目の方法: 「最初の方法に基づいて、リフレクションを使用してドライバー

を実現します。最初の方法:

Driver driver = new com.mysql.jdbc.Driver();


Class clazz = Class.forName("com.mysql.jdbc.Driver");
Driver driver = (Driver) clazz.newInstance();
## に変更します。」 # 最初のメソッドを基準としたものです。2 つのメソッドは同じ機能を持っていますが、2 番目のメソッドはリフレクションを使用してドライバーを実装するため、サードパーティのインターフェイスの使用が回避され、コードの移植性が高まります。 2 番目のメソッドのソース コードは次のとおりです。


 /*
        使用反射获取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);
3 番目のメソッド: Drive の代わりに DriveManager(classs) を使用します。


ソース コードは次のとおりです。 ##
        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));

4 番目の方法: ドライバーの読み込みメソッドを非表示にする

3 番目のメソッドの

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: データベースに必要な基本情報を 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 フォルダーの Next

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 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はcsdnで複製されています。侵害がある場合は、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ヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい