データ永続性:後で使用するためにパワーダウンにストレージデバイスにデータを保存します。
主な用途:リレーショナルデータベース内のデータ・ストレージ・メモリ、ディスク・ファイル、XMLインチ
Javaでは、データベース・アクセス・テクノロジー:
1)データベースへのJDBCの直接アクセス(礎石)
2)JDOテクノロジー
3)休止状態のようなサードパーティのO / Rツールは、同様にiBatisの。
JDBCは、特定のデータベース管理システム、汎用のSQLデータベースへのアクセスと操作発表インターフェース(APIのセット)から独立したデータベースにアクセスするための標準のJavaライブラリを定義します。
JDBCは、異なるデータベースにアクセスするための統一的な方法を提供します。
JDBCの目標は、任意のJDBCドライバは、JDBCデータベースシステムを提供するJavaプログラマが接続できるようにすることです。
JDBCインタフェース(API)は、二つのレベルで構成されています。
アプリケーション指向API:Java APIを使用するアプリケーションの開発者が使用するための抽象インタフェース(結果を取得するには、SQL文を実行し、データベースに接続します)。
データベース指向のAPI:JavaドライバのAPI、データベース駆動型の手順を構築するための開発者向け。
JDBCドライバ:JDBC JDBC実装クラスライブラリによって生成された各データベースベンダーの仕様。
地元の合意のための純粋なJavaドライバ:完全にJavaで書かれた、ソケット接続を介して直接接続されたネットワークのためのネットワーク・プロトコル・コールに特定のベンダーのJDBC呼び出しを使用して、データベースとの確立します。
JDBC APIは、SQL文を実行し、プログラムがデータベースに接続することができるようにするインタフェースのセットです、そして得られた結果を返します。
java.sql.driverインタフェースは、データベースベンダーから、インターフェイスを提供しなければならないでデータベース接続。
プログラム内のドライバインタフェースを実装するクラスに、しかしドライバマネージャクラス(での直接アクセスを必要としないのjava.sql.DriverManagerドライバの実装を呼び出すこと)。
MySQLのドライバに参加
1)現在のプロジェクトの下のlibディレクトリを作成します。
2)へのmysql-コネクタのjava-5.1.7-bin.jarをlibディレクトリにコピーします
3)右のビルド・パスに追加クラスパスduildpathを追加します。
データベースへの接続を確立するために、接続ドライバクラス()メソッドを呼び出します。
JDBC URLは、運転者が登録されているドライバ・マネージャを識別するために使用される適切なドライバを選択するURLによってデータベースへの接続を確立するように、。
標準のJDBC URLは、部品間のコロンで区切られた3つの部分で構成されています。
- JDBC:<サブプロトコル>:<子の名前>
- プロトコル:JDBC URLは常にJDBCプロトコルであり、
- サブプロトコル:サブプロトコルデータベースドライバを識別するため
- サブタイトル:データベースを同定するための方法であって、名前が十分な情報を提供するために、サブ・ロケーション・データベースとは異なるオブジェクト名のサブサブプロトコルに応じて変えることができます。
例: "JDBCます。mysql:// localhost /をユーザー"
public static void testDriver() throws SQLException {
//1.创建一个Driver实现类的对象
Driver driver=new com.mysql.jdbc.Driver();
//2.准备连接数据库的基本信息:url,user,password
String url="jdbc:mysql://localhost:3306/users";
Properties info=new Properties();
info.put("user", "root");
info.put("password","12345678");
//3.调用Driver接口的connect(url,info)获取数据库连接
Connection connection=driver.connect(url, info);
System.out.println(connection);
}
毛髪の調製の一般的な方法は、ソースコードを変更することなく、任意のデータベースへの接続を得ることができます。
解決策:完全なデータベース駆動型のドライバクラスのクラス名、URL、ユーザー、プロファイルにパスワードを達成し、設定ファイルを変更することで、特定のデータベースを切り離す達成します。
public static Connection getConnection() throws Exception{
//1.准备连接数据库的4个字符串
//驱动的全类名
String driverClass=null;
String jdbcUrl=null;
String user=null;
String password=null;
//加载配置文件
ClassLoader loader = Thread.currentThread().getContextClassLoader();
Properties properties=new Properties();
properties.load(loader.getResourceAsStream("jdbc.properties"));
//读取类路径下的jdbc.properties文件中连接数据库的4个字符串
driverClass=properties.getProperty("driver");//读取接口类型
jdbcUrl=properties.getProperty("jdbcUrl");
user=properties.getProperty("user");
password=properties.getProperty("password");
//2.创建一个Driver实现类的对象
Driver driver=(Driver)Class.forName(driverClass).newInstance();//反射
properties.put("user", user);
properties.put("password",password);
//3.调用Driver接口的connect(url,info)获取数据库连接
Connection connection=driver.connect(jdbcUrl, properties);
return connection;
}