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.
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) ); } }
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); } }
Kes praktikal
Berikut ialah kes praktikal untuk mencipta JDBC DAO yang mudah menggunakan rangka kerja Spring:
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) ); } }
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!