Rumah > Java > javaTutorial > teks badan

Bagaimanakah lapisan akses data dalam rangka kerja Java Spring direka?

王林
Lepaskan: 2024-04-17 15:06:02
asal
1074 orang telah melayarinya

Dalam rangka kerja Spring, lapisan akses data (DAO) digunakan untuk interaksi antara aplikasi dan pangkalan data, menggunakan JDBC atau JPA untuk berkomunikasi dengan pangkalan data. Akses data JDBC melibatkan penggunaan Templat JDBC untuk melaksanakan pertanyaan dan kemas kini SQL, manakala akses data JPA menggunakan kelas entiti dan anotasi untuk memetakan jadual dan objek pangkalan data serta melaksanakan pertanyaan dan kemas kini JPA melalui Templat JPA. Dalam pertempuran sebenar, anda boleh menggunakan rangka kerja Spring untuk mencipta JDBC DAO, dengan mencipta kacang DataSource, kacang Template JDBC dan melaksanakan kaedah dalam antara muka UserDao.

Java Spring框架中的数据访问层是如何设计的?

Reka bentuk lapisan akses data dalam rangka kerja Java Spring

Lapisan akses data (DAO) ialah komponen dalam aplikasi yang bertanggungjawab untuk berinteraksi dengan pangkalan data. Dalam rangka kerja Spring, DAO biasanya menggunakan JDBC (Java Database Connectivity) atau JPA (Java Persistence API) untuk berkomunikasi dengan pangkalan data.

JDBC Akses Data

Melaksanakan DAO menggunakan JDBC melibatkan penciptaan Templat JDBC yang menyediakan kaedah untuk melaksanakan pertanyaan dan kemas kini SQL. Templat JDBC memudahkan operasi peringkat rendah JDBC dan menyediakan pengendalian ralat di luar kotak.

import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;

public class JdbcUserDao implements UserDao {

    private JdbcTemplate jdbcTemplate;

    public JdbcUserDao(DataSource dataSource) {
        this.jdbcTemplate = new JdbcTemplate(dataSource);
    }

    public User findUserById(int id) {
        return jdbcTemplate.queryForObject(
            "SELECT * FROM users WHERE id = ?",
            new Object[]{id},
            new BeanPropertyRowMapper(User.class)
        );
    }
}
Salin selepas log masuk

JPA Akses Data

JPA menyediakan cara yang lebih maju untuk berinteraksi dengan pangkalan data. Ia menggunakan kelas entiti dan anotasi untuk memetakan jadual dan objek pangkalan data. Templat JPA menyediakan cara yang mudah untuk melaksanakan pertanyaan dan kemas kini JPA.

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

public class JpaUserDao implements UserDao {

    @PersistenceContext
    private EntityManager entityManager;

    public User findUserById(int id) {
        return entityManager.find(User.class, id);
    }
}
Salin selepas log masuk

Kes praktikal

Berikut ialah kes praktikal untuk mencipta JDBC DAO yang mudah menggunakan rangka kerja Spring:

  1. Mencipta kacang DataSource: Gunakan rangka kerja DataSource untuk mencipta kacang Spring yang disediakan oleh pangkalan data.
  2. Buat kacang Templat JDBC: Gunakan kacang DataSource untuk mencipta kacang Templat JDBC.
  3. Laksanakan antara muka UserDao: Buat kelas JdbcUserDao dan laksanakan kaedah yang ditakrifkan dalam antara muka UserDao.
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;

@Repository
public class JdbcUserDao implements UserDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Override
    public User findUserById(int id) {
        return jdbcTemplate.queryForObject(
            "SELECT * FROM users WHERE id = ?",
            new Object[]{id},
            new BeanPropertyRowMapper(User.class)
        );
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah lapisan akses data dalam rangka kerja Java Spring direka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan