学習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
のプロパティ
データベースへの接続
Connection
SQL文の特定のデータベース接続コンテキストとの接続とは、結果を返します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("结束");
}
}