週&テストレポートのコース概要(簡単なメモ帳の実現)

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();
}

}

 

结果截图

 

 

おすすめ

転載: www.cnblogs.com/xlshoho/p/11954125.html