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

王林
リリース: 2020-11-23 15:33:31
転載
2737 人が閲覧しました

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.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!