mysqlデータベース: jdbc:mysql://localhost:3306/test
IDE: IDEA 2022
JDK: JDK8
mysql:mysql 5.7
JDBC:5.1.37
静的読み込みドライバー メソッドを使用して mysql に接続します
この方法は柔軟ですパフォーマンスと強い依存性
public void connection01() throws SQLException { // 注册驱动 Driver driver = new Driver(); // 创建Properties对象,用于保存mysql账号和密码键值对 Properties properties = new Properties(); properties.setProperty("user", "root"); properties.setProperty("password", "123456"); String url = "jdbc:mysql://localhost:3306/test"; // 得到mysql的连接 Connection connection = driver.connect(url, properties); // 得到可以与mysql语句进行交互的对象 Statement statement = connection.createStatement(); // 关闭与 mysql语句进行交互的对象 statement.close(); // 关闭与mysql的连接 connection.close();
リフレクションを使用して最初の方法に基づいてドライバーを動的にロードし、依存性を減らし、柔軟性を向上させます
public void connection02() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException { // 使用反射动态加载mysql驱动件程序 Class<?> aClass = Class.forName("com.mysql.jdbc.Driver"); Driver driver = (Driver) aClass.newInstance(); // 创建Properties对象,用于保存mysql账号和密码键值对 Properties properties = new Properties(); properties.setProperty("user", "root"); properties.setProperty("password", "123456"); String url = "jdbc:mysql://localhost:3306/test"; // 得到mysql的连接 Connection connection = driver.connect(url, properties); // 得到可以与mysql语句进行交互的对象 Statement statement = connection.createStatement(); // 关闭与 mysql语句进行交互的对象 statement.close(); // 关闭与 mysql语句进行交互的对象 connection.close(); }
統合管理に DriverManager を使用する
public void connection03() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException { // 使用反射动态加载mysql驱动件程序 Class<?> aClass = Class.forName("com.mysql.jdbc.Driver"); Driver driver = (Driver) aClass.newInstance(); String user = "root"; String password = "123456"; String url = "jdbc:mysql://localhost:3306/test"; // 使用DriverManager加载Driver DriverManager.registerDriver(driver); // 得到mysql的连接 Connection connection = DriverManager.getConnection(url, user, password); // 得到可以与mysql语句进行交互的对象 Statement statement = connection.createStatement(); // 关闭与 mysql语句进行交互的对象 statement.close(); // 关闭与 mysql语句进行交互的对象 connection.close(); }
実際には、Class.forName("com.mysql.jdbc.Driver") が一番下にあります。 Driver インスタンスには次のものがあります。自動的にロードされます
So Driver driver = (Driver) aClass.newInstance(); この文は省略可能です
このメソッドも開発で最もよく使用されます One way
public void connection04() throws ClassNotFoundException, SQLException { // 使用反射动态加载mysql驱动件程序 Class<?> aClass = Class.forName("com.mysql.jdbc.Driver"); String user = "root"; String password = "123456"; String url = "jdbc:mysql://localhost:3306/test"; // 得到mysql的连接 Connection connection = DriverManager.getConnection(url, user, password); // 得到可以与mysql语句进行交互的对象 Statement statement = connection.createStatement(); // 关闭与 mysql语句进行交互的对象 statement.close(); // 关闭与 mysql语句进行交互的对象 connection.close(); }
mysql5.16 以降、Class.forName(“com.mysql.jdbc.Driver”) を使用してドライバーをロードすることはできなくなりました。
jdbc4 ではjdk1.5 以降使用されているため、ドライバーを登録するために class.forName() を明示的に呼び出す必要はなくなりましたが、ドライバー jar の下にある META-INF\services\java.sql.Driver テキスト内のクラス名を自動的に呼び出す必要があります。登録するパッケージ
CLass.forName("com.mysql.jdbc.Driver") を記述することをお勧めします。これは、より明確で互換性が高くなります。
プロパティ設定ファイル動的情報を動的に読み取るためにここでも使用されます。柔軟性が向上します。
この方法を使用することをお勧めします
src/com/mysql/mysql.properties 設定ファイルの内容は次のとおりです
url=jdbc:mysql://localhost:3306/test user=root password=123456
mysqlプログラムに接続
public void connection05() throws SQLException, ClassNotFoundException, IOException { // 使用Properties读取配置文件下的内容 Properties properties = new Properties(); properties.load(new FileInputStream("src/com/mysql/mysql.properties")); String url = properties.getProperty("url"); String user = properties.getProperty("user"); String password = properties.getProperty("password"); // 得到mysql的连接 Connection connection = DriverManager.getConnection(url, user, password); // 得到可以与mysql语句进行交互的对象 Statement statement = connection.createStatement(); // 关闭与 mysql语句进行交互的对象 statement.close(); // 关闭与 mysql语句进行交互的对象 connection.close(); }
以上がJDBC を MySQL に接続するにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。