Rumah >Java >javaTutorial >Reka bentuk lapisan akses data dalam rangka kerja Java dan sambungan dengan perkhidmatan pangkalan data awan

Reka bentuk lapisan akses data dalam rangka kerja Java dan sambungan dengan perkhidmatan pangkalan data awan

王林
王林asal
2024-06-04 11:53:57770semak imbas

Lapisan akses data dalam rangka kerja Java bertanggungjawab untuk interaksi antara aplikasi dan pangkalan data. Untuk memastikan kebolehpercayaan, DAO harus mengikut prinsip tanggungjawab tunggal, gandingan longgar dan kebolehujian. Anda boleh meningkatkan prestasi dan ketersediaan aplikasi Java anda dengan memanfaatkan perkhidmatan pangkalan data awan seperti Google Cloud SQL atau Amazon RDS. Menyambung kepada perkhidmatan pangkalan data awan melibatkan penggunaan kilang penyambung dan soket JDBC khusus untuk berinteraksi dengan pangkalan data terurus dengan selamat. Kes praktikal menunjukkan cara menggunakan rangka kerja JDBC atau ORM untuk melaksanakan operasi CRUD biasa dalam rangka kerja Java.

Reka bentuk lapisan akses data dalam rangka kerja Java dan sambungan dengan perkhidmatan pangkalan data awan

Lapisan akses data dalam rangka kerja Java direka bentuk untuk menyambung kepada perkhidmatan pangkalan data awan

Lapisan akses data (DAO) bertanggungjawab untuk mengendalikan interaksi antara program komputer dan pangkalan data. Dalam rangka kerja Java, mereka bentuk lapisan capaian data yang mantap adalah penting untuk memastikan interaksi aplikasi yang boleh dipercayai dengan pangkalan data bahagian belakang. Perkhidmatan pangkalan data awan, seperti Google Cloud SQL dan Amazon RDS, menyediakan penyelesaian pangkalan data terurus dan berskala yang boleh meningkatkan lagi prestasi dan ketersediaan aplikasi Java.

Prinsip Reka Bentuk DAO

  • Prinsip Tanggungjawab Tunggal: Setiap DAO harus bertanggungjawab untuk entiti pangkalan data tertentu atau sekumpulan entiti berkaitan.
  • Gandingan Longgar: DAO harus dipisahkan daripada teknologi pangkalan data asas (seperti SQL atau NoSQL) untuk memudahkan pemindahan masa hadapan.
  • Kestabilan: DAO sepatutnya mudah untuk ujian unit untuk mengesahkan interaksi dengan pangkalan data.

Sambung ke perkhidmatan pangkalan data awan

Coretan kod berikut menunjukkan cara menyambungkan aplikasi Java ke pangkalan data Google Cloud SQL:

// Import the Google Cloud SQL JDBC Socket Factory and Connector/J classes.
import com.google.cloud.sql.jdbc.SocketFactory;
import com.google.cloud.sql.jdbc.SQLDataSource;

// Create a new SQLDataSource object.
SQLDataSource dataSource = new SQLDataSource();
// Set the database connection properties.
dataSource.setHost(host);
dataSource.setPort(3306);
dataSource.setDatabase(dbName);
dataSource.setUser(user);
dataSource.setPassword(password);
// Retrieve the Cloud SQL JDBC socket factory.
SocketFactory socketFactory = SocketFactory.getDefaultInstance();
// Assign the socket factory to the data source.
dataSource.setSocketFactory(socketFactory);

// Obtain a connection to the database.
Connection conn = dataSource.getConnection();

Begitu juga, kod berikut menunjukkan cara menyambung ke pangkalan data Amazon RDS:

// Import the Amazon RDS JDBC Driver classes.
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.rds.AmazonRDSClient;
import com.amazonaws.services.rds.model.DBInstance;
import com.amazonaws.services.rds.model.Endpoint;
import javax.sql.DataSource;

// Create a new Amazon RDS client.
AmazonRDSClient rdsClient = new AmazonRDSClient();
// Retrieve the endpoint for the specified DB instance.
String dbHost = rdsClient.describeDBInstances(new DescribeDBInstancesRequest().withDBInstanceIdentifier(dbInstanceId)).getDBInstances().get(0).getEndpoint().getAddress();
String dbPort = rdsClient.describeDBInstances(new DescribeDBInstancesRequest().withDBInstanceIdentifier(dbInstanceId)).getDBInstances().get(0).getEndpoint().getPort().toString();

// Initialize the basic AWS credentials.
BasicAWSCredentials awsCreds = new BasicAWSCredentials(accessKey, secretKey);
// Configure the JDBC connection properties.
RdsConnectOptions rdsConnectOptions = new RdsConnectOptions();
rdsConnectOptions.setBasicCredentials(awsCreds);

// Get the RdsDataSource.
RdsDataSource rdsDataSource = new RdsDataSource(jdbcUrl, rdsConnectOptions);

// Obtain a connection to the database.
Connection conn = rdsDataSource.getConnection();

Kes Amalan

Andaikan anda mempunyai jadual bernama Product的 Java 实体类,它映射到数据库中的products. Pelaksanaan DAO berikut menunjukkan cara melaksanakan operasi CRUD biasa dalam rangka kerja Java:

public interface ProductDao {
    List<Product> getAll();
    Product getById(long id);
    void insert(Product product);
    void update(Product product);
    void delete(long id);
}

Anda boleh melaksanakan DAO ini menggunakan JDBC atau rangka kerja ORM seperti Hibernate atau Spring Data JPA. Rangka kerja ini secara automatik mengendalikan sambungan dan pertanyaan kepada pangkalan data, memudahkan logik lapisan akses data.

Atas ialah kandungan terperinci Reka bentuk lapisan akses data dalam rangka kerja Java dan sambungan dengan perkhidmatan pangkalan data awan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn