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