MySQLのDay5

学習MySQLの

ディレクトリ


MySQLは、JDBCプログラミングを使用することができます。

場合は、JDBCプログラミング、コンポーネントをダウンロードする必要性にConnector/JあなたはMySQLの公式サイトである場合は、データベースをダウンロードするには、今バージョン8.0は、データベースへのアクセス以外の言語を使用するためには、対応するコネクタを選択することが可能な、インストールMySQLがあります。

アイデアで、それがプロジェクトのために必要であるProject StructureにおけるModulesアドオンConnector/J対応するパッケージ、またはへのアクセスを持っていません。

私のマシンにインストールされているので、過去のほとんどが持っていない可能性があり、同じのMySQL 8.0バージョンです

次に、我々は作成しtest.javaたデータベースに始まる今日のJDBCアクセスを


Class.forNameの()

  • Class.forNameの()

まず理解する必要がありClass、このクラスを

Class カテゴリ

Javaはでき反射中心でありforName()、従ってクラスメソッド得るClassオブジェクト。

Class.forName()方法主な機能は、クラスアクションを返すことであるJVMがされたクラスの静的コードセクション実行する、すなわち、指定されたクラスを見つけてロードするためにJVMを必要とされるstatic部品を修飾します。そして、データベースドライバをロードする際にのみ使用することができますClass.forName()ドライバをロードする方法を

MySQL8.0、ドライブで"com.mysql.cj.jdbc.Driver"、ドライブを登録する必要があります

ステートメントを使用して登録ドライブ Class.forName("com.mysql.cj.jdbc.Driver")

トップへ戻ります

URLデータベース

データベースに接続するとき、私たちはなど、ホスト名、ポート番号、およびデータベース名、などのパラメータのデータベース関連、さまざまなタイプのを使用する必要があります。

例えばjdbc:mysql://local:3306/test?useSSL=false&serverTimezone=UTC、それが4つの部分に分けることができます

  • jdbc:mysql://
  • local:3306/
  • test?
  • useSSL=false&serverTimezone=UTC

    私が理解することができます分割ので、私は、とにかく、右のシェアを知らない.....

最初の部分は、本体であるJDBCの特定の構文、あるjdbc:subprotocol:other stuffデータベースに接続する特定のプログラムを選択するためのサブプロトコル。サブプロトコルのパラメータを持つフォーマット他のものを使用すると、ベンダーが提供する文書に関してデータベースにアクセスすることができ、異なる使用しました。

データベースは理解してURLの後に、次のステップでは、登録車クラスです

トップへ戻ります

クラス登録ドライブ

することによりDriverManager、レジスタクラスドライバ

  • Javaプログラムでドライバクラスをロードします

    Class.forNameの( "com.mysql.cj.jdbc.Driver");

  • 設定jdbc.driversのプロパティ

データベースへの接続

  • ConnectionSQL文の特定のデータベース接続コンテキストとの接続とは、結果を返します
  • Statementデータベースへの接続後、SQLステートメントは、接続によって送信されました
  • ResultSet、SQLクエリステートメントのものを使用して、ResultSetのに結果セットを返した後、

ResultSetが読むためにスクロールをサポートしていないので、あなただけそれらを使用することができますnext()行ずつを読み取るために

そして、あなたは、JDBCを使用してデータベースに接続することができ、あなたが使用することができます。

トップへ戻ります

次に例を示します。

import java.sql.*;

public class TestForMySQL {
    final static String JDBC_Driver="com.mysql.cj.jdbc.Driver";

    final static String url= "jdbc:mysql:"+/*jdbc:指定特定的数据库*/
            "//localhost:3306/"/**/
            +"test"/*数据库名称*/
            +"?useSSL=false&serverTimezone=UTC";/*固定格式*/

    final static String user="root";
    final static String passwd="12345678";

    public static void main(String[]args){
        Connection connection=null;
        Statement statement=null;

        try{
            Class.forName(JDBC_Driver);//注册驱动
            connection= DriverManager.getConnection(url,user,passwd);//连接端口,加上用户名密码
            statement=connection.createStatement();

            String sqlUse="show databases";

            String sqlCmd="SELECT * FROM words WHERE id>=1 and id<100";//sql语句

            ResultSet resultSet=statement.executeQuery(sqlCmd);//使用语句进行查询

            while(resultSet.next()) {
                int id = resultSet.getInt("id");
                String word = resultSet.getString("word");
                String explains = resultSet.getString("explains");

                System.out.println(id + " " + word + " " + explains);
            }
            //关闭流
            statement.close();
            resultSet.close();
            connection.close();

        }catch (Exception e){
            e.printStackTrace();
        }
        finally {
            try {
                if (statement != null)
                    statement.close();
            }catch (SQLException e) {
                e.printStackTrace();
            }
            try{
                if(connection!=null)
                    connection.close();
            }catch (SQLException e){
                e.printStackTrace();
            }
        }
        System.out.println("结束");


    }
}

トップへ戻ります


Day5オーバー

おすすめ

転載: www.cnblogs.com/Yunrui-blogs/p/12432572.html