A、JDBC概要
1.JDBCプロフィール
(1)JDBCは、この規格に従って生産データベースを駆動するために、標準的なJAVA、様々なデータベース製造業者によって提供されるデータベース操作の集合であり、開発者は、コア・インタフェースを習得する必要があり、クラスは、任意のSQLデータベース操作で実現することができます
(2)JDBC標準は、SQL文を実行するためのプラットフォームに依存しないJava APIを提供し、それは容易にJava言語で書かれたクラスとインタフェースのセットで構成され、リレーショナルデータベースの統一動作多様を達成することができます
2.JDBC駆動分類
(1)JDBC-ODBCブリッジドライバ
(2)JDBCコネクタ
(3)JDBCネットワークドライバ
このJDBCドライバは、DBMSに依存しないネットワーク・プロトコルを変換し、その後、DBMSプロトコルにサーバーに変換されます。
(4)ローカルプロトコル純粋なJDBCドライバ
ドライバのこのタイプは、JDBCは、DBMSによって使用されるネットワークプロトコルに直接呼び出しに変換します。
3.JDBC次アクションクラスおよびインタフェース
クラスとインタフェース | 説明 |
java.sql.DriverManager | JDBCドライバを管理するための |
java.sql.Connection |
コネクションの確立がSQL文を実行し、検索結果を得ることができた後、特定のデータベースとの接続を確立するには、接続は、セッションです |
java.sql.Statementの | Statementオブジェクトは、静的SQL文を実行し、文の実行結果を取得するには |
java.sql.PreparedStatement | 実装の効率を高めるために複数回実行できるSQL文オブジェクトを作成するためにコンパイルすることができ、インターフェースは、Statementのサブインタフェースであります |
java.sql.ResultSet | これは、検索結果の結果セット、結果セットを介してデータベースへのユーザーの完全なアクセスを作成するために使用されるSQL文を表し、 |
java.sql.Date | Java.util.Dateクラスは、日付型のSQL DATEを示すために使用される標準のサブセットであり、日付は時間が含まれていません |
java.sql.Timestamp | SQLタイムスタンプを表現するための標準的なjava.util.Dateクラスの拡張、およびドメインはNSを表現することができる時間が追加されます |
java.sql.CallableStatementの | これは、SQLストアドプロシージャを実行するために使用しました |
java.sql.DatabaseMetadata | データベースアクセスのためのメタ情報とJava.sql.ResultSetMetaDataを一緒に |
java.sql.driver | インターフェースは、データベースドライバを定義します |
java.sql.DataTruncation | データ切り捨て例外はJDBC、レポートの警告(書き込みデータ)例外に遭遇した(データを読み込む)、または生成されます |
java.sql.DriverPropertyInfo | 高度なプログラマがDriverPropertyInfoのとドライバを介して通信する、getDriverPropertyInfoドライバを入手または提供する使用することができます |
たjava.sql.Time | Java.util.Dateクラスは、標準のサブセットであり、とき、分、秒を示すために使用されます |
java.sql.SQLExceptionの | データベースアクセス生成されるエラーメッセージの説明 |
java.sql.SQLWarning | データベースアクセス生成された警告の説明 |
java.sql.Typesの | 型定数は、SQLを表す定義 |
二、MySQLデータベース
1.MySQLプロフィール
MySQLは小規模なリレーショナル・データベース管理システム、スウェーデンの会社のMySQL ABの開発です。
2.MySQLのインストールと設定
3.MySQL一般的に使用されるコマンド
(1)MySQLデータベースに接続
`` `
mysqlの-uユーザ名-pパスワード
`` `
(2)データベースの作成
`` `
データベースを作成します:DATABASEデータベース名を作成します。
データベースを削除します:DROP DATABASEデータベース名。
`` `
(3)データベースの使用
`` `
USEデータベース名。
`` `
(4)は、データベーステーブルを作成します
`` `
(TABLEテーブル名を作成
フィールド名フィールドタイプ1 [DEFAULTデフォルト] [拘束]、
フィールド名フィールドタイプ2 [DEFAULTデフォルト] [拘束]、
......
フィールド名フィールドタイプN [DEFAULTデフォルト] [拘束]
);
`` `
(5)は、データベーステーブルを作成します
`` `
DROP TABLEテーブル名;
`` `
(6)表示テーブル構造
`` `
DESCテーブル名;
`` `
(7)ビューデータベース情報
`` `
すべてのデータベース:SHOWデータベース。
すべてのテーブルのデータベース表示:SHOW TABLESを。
`` `
実験報告
package test;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.io.*;
import javax.swing.*;
public class Jishiben implements ActionListener{
JFrame frame;
JTextArea jta;
File file1;
JMenuBar menubar;
JMenu menu;
JMenuItem newitem;
JMenuItem openitem;
JMenuItem closeitem;
JMenuItem saveitem;
JScrollPane scroll;
JFileChooser jfc;
public Jishiben() {
frame=new JFrame("记事本");
jta=new JTextArea(10,4);
jta.setEditable(true);
scroll=new JScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
menubar=new JMenuBar();
menu=new JMenu("文件");
newitem=new JMenuItem("新建");
openitem=new JMenuItem("打开");
closeitem=new JMenuItem("关闭");
saveitem=new JMenuItem("另存为");
newitem.setMnemonic(KeyEvent.VK_N);
openitem.setMnemonic(KeyEvent.VK_O);
closeitem.setMnemonic('c');
saveitem.setMnemonic('s');
newitem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK));
openitem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK));
closeitem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.CTRL_MASK));
saveitem.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK));
newitem.addActionListener(this);
openitem.addActionListener(this);
closeitem.addActionListener(this);
saveitem.addActionListener(this);
menu.add(newitem);
menu.add(openitem);
menu.add(closeitem);
menu.add(saveitem);
menubar.add(menu);
frame.setJMenuBar(menubar);
frame.add(scroll);
frame.setSize(550,400);
frame.setLocation(460,180);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() instanceof JMenuItem) {
if(e.getSource()==newitem) {
new Jishiben();
}
else if(e.getSource()==openitem) {
jfc=new JFileChooser();
jfc.showOpenDialog(null);
file1=jfc.getSelectedFile();
try {
FileInputStream input=new FileInputStream(file1);
byte b1[]=new byte[(int) file1.length()];
try {
input.read(b1);
String str=new String(b1);
jta.append(str);
input.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
else if(e.getSource()==closeitem) {
System.exit(1);
}
else if(e.getSource()==saveitem) {
jfc=new JFileChooser();
jfc.showOpenDialog(null);
file1=jfc.getSelectedFile();
try {
FileOutputStream output=new FileOutputStream(file1);
byte b1[]=jta.getText().getBytes();
try {
output.write(b1);
output.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
}
package test;
public abstract class Test {
public static void main(String[] args) {
new Jishiben();
}
}
结果截图