Java でのデータアクセスオブジェクトの実装
新しいデータベース mydb
および products
テーブルを作成して、Java で DAO を使用したデータ挿入のリアルタイム実装を示します。
DAO モデルは、CRUD アプリケーションを動的に使用できます。データベース接続には、mysql-connector-java-8.0.22
の JDBS ドライバー
を使用します。
オブジェクトの基盤となるデータアクセス実装を正常に抽象化して、データへの透過的なアクセスを提供します。
Java のデータアクセスオブジェクトを理解する
このパターンを使用して、DAO とのインターフェースを実装します。このモデルは、抽象データソースを管理できるカスタムでありながら完全に機能する Java データアクセスオブジェクトの大まかな表現です。
データベース操作を変更するとします。あなたがする必要があるのはメインクラスを変更することだけです。
この場合、メインクラスは JDBC デモとして定義されています。
DAO パターン:
最初は混乱しません。したがって、コピーアンドペーストではなくインターフェイスを作成するロジックを構築するために、必要に応じてシンプルに保ちます。
とは言うものの、これは、この例では addProduct
である関数のオブジェクトのインスタンスであるメインクラスでスローされたコンストラクターを介して渡される製品値を含む product
クラスです。
// Product class
class Product {
int id;
String name;
// add more values
}
そして、データアクセスオブジェクトパターンを使用してデータベースを管理するインターフェイスがあります。とりあえず欠かせないものにしましょう。
データベーステーブルに製品を追加できる簡単な関数を確認してください。
public static void main(String[] args) {
// Now let us insert new product
// constructor PDAO class
// objects
ProDAO dao2 = new ProDAO(); // constructor
Product pro = new Product(); // constructor
// values to insert
// dynamically modify values from here later
pro.id = 3;
pro.name = "Oppo LOL";
// we have created a separate function for the db connection
dao2.Dbconnect();
// it is set to addProduct as of now, you can run CRUD directly from here
dao2.addProduct(pro);
}
これは、実装コードのセクションで実行する DAO の典型的なデモです。
MySQL でデータベースを作成してから、MySQL コネクタ jar
ファイルを使用して SQL サーバーに接続することに注意してください。
心配しないでください! CLI を使用してデータベースを作成する方法も示します。
Windows OS を使用している場合:
ただし、MySQL Workbench
、SQL Yog
、phpMyAdmin
などの GUI を使用して、好みのデータベースを作成できます。
Java で MySQL サーバーに接続する
物事の見通しを保ち、汚いコードを避けるため。別のデータベース関数を作成します。
// Database Connection will use jdbc driver from the mysql connector jar
public void Dbconnect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver"); // Mysql Connector's JDBC driver is loaded
// connection to mysql
con = DriverManager.getConnection(
"jdbc:mysql://localhost/mydb", "root", ""); // URL, database name after
// localhost, user name,
// password
} catch (Exception ex) {
System.out.println(ex);
}
}
この接続は、あなたのMySQLプロジェクトに使用することができます。また、古いバージョンのJavaを使用している場合は、JDBCをロードするために Class.forName("com.mysql.jdbc.Driver");
を使用することを忘れないでください。
Java の MySQL データベースでのデータアクセスオブジェクトの実装
まず、実行時に例外や警告を回避するために、パスを正しく構築するのに役立ちます。
頻繁なエラーは、Java プロジェクトを右クリックし、パスを作成し、jar
ファイルを構成することで回避できます。ビルドパスが下の画像のようになっていることを確認してください。
概念が明確であれば、モデルの次の DAO 実装を理解できます。それでも、コードの各要素についてコメントしました。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
// This Data Access Object DAO is a dynamic way to handle database records.
// main class
class DAOexample {
public static void main(String[] args) {
// Now let us insert new product
// constructor PDAO class
// objects
ProDAO dao2 = new ProDAO(); // constructor
Product pro = new Product(); // constructor
// values to insert
// dynamically modify values from here later
pro.id = 3;
pro.name = "Oppo LOL";
// we have created a separate function for the db connection
dao2.Dbconnect();
// it is set to addProduct as of now, you can run CRUD directly from here
dao2.addProduct(pro);
}
}
class ProDAO {
Connection con = null;
// Database Connection will use jdbc driver from the mysql connector jar
public void Dbconnect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
// connection to mysql
con = DriverManager.getConnection(
"jdbc:mysql://localhost/mydb", "root", ""); // URL, database name after
// localhost, user name,
// password
} catch (Exception ex) {
System.out.println(ex);
}
}
// We will use the insert operation in this function, its conductor is already
// declared in the main class (DAO)
public void addProduct(Product p) { // this function will insert values
// insert query
// using prepared statements
String query2 = "insert into products values (?,?)";
try {
PreparedStatement pst;
pst = con.prepareStatement(query2);
pst.setInt(1, p.id);
pst.setString(2, p.name); //
pst.executeUpdate(); // executeUpdate is used for the insertion of the data
System.out.println("Inserted!");
} catch (Exception ex) {
}
}
}
// Product class
class Product {
int id;
String name;
// add more values
}
出力:
それでもクエリがある場合は、jar
ファイルと最初の DAO を構成するために必要なすべてを含むこの実装の完全な zip フォルダーを提供します。
Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.
LinkedIn