Rumah >Java >javaTutorial >Bagaimana untuk menggunakan rangka kerja ORM dalam pembangunan fungsi backend Java?

Bagaimana untuk menggunakan rangka kerja ORM dalam pembangunan fungsi backend Java?

WBOY
WBOYasal
2023-08-05 10:01:051250semak imbas

Bagaimana untuk menggunakan rangka kerja ORM dalam pembangunan fungsi backend Java? Rangka kerja

ORM (Pemetaan Perhubungan Objek) ialah alat yang digunakan secara meluas dalam pembangunan back-end Java Ia boleh memetakan struktur jadual dalam pangkalan data ke dalam objek dan menyediakan API yang mudah untuk mengendalikan pangkalan data. Artikel ini akan memperkenalkan cara menggunakan rangka kerja ORM dalam pembangunan backend Java, dengan contoh kod.

  1. Pilih rangka kerja ORM yang sesuai

Sebelum menggunakan rangka kerja ORM, kita perlu memilih rangka kerja yang sesuai terlebih dahulu. Dalam pembangunan Java, Hibernate dan MyBatis ialah dua rangka kerja ORM yang popular. Antaranya, Hibernate ialah rangka kerja automatik sepenuhnya yang boleh menjana dan melaksanakan pernyataan SQL secara automatik, manakala MyBatis memerlukan penulisan manual dan penyelenggaraan pernyataan SQL. Pilih rangka kerja yang sesuai dengan anda berdasarkan keperluan peribadi dan tabiat pembangunan anda.

  1. Mengkonfigurasi rangka kerja ORM

Sama ada menggunakan Hibernate atau MyBatis, kita perlu mengkonfigurasi rangka kerja terlebih dahulu. Mari kita ambil Hibernate sebagai contoh untuk memperkenalkan cara mengkonfigurasinya.

Pertama, kita perlu menambah kebergantungan berkaitan Hibernate pada kebergantungan projek. Dalam projek Maven, anda boleh menambah kod berikut dalam fail pom.xml:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.4.32.Final</version>
</dependency>

Kemudian, kita perlu mencipta fail konfigurasi Hibernate (biasanya dinamakan hibernate.cfg.xml) dalam projek, yang digunakan untuk mengkonfigurasi pangkalan data maklumat sambungan, dsb. Berikut ialah contoh mudah:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mydatabase</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">password</property>
    </session-factory>
</hibernate-configuration>

Dalam fail konfigurasi, anda perlu mengisi maklumat sambungan pangkalan data yang sepadan, seperti pemacu pangkalan data, URL pangkalan data, nama pengguna dan kata laluan, dsb.

  1. Tentukan kelas entiti

Rangka kerja ORM boleh memetakan struktur jadual dalam pangkalan data ke dalam objek Java, jadi kita perlu mentakrifkan kelas entiti dalam projek. Berikut ialah contoh mudah:

@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "name")
    private String name;

    @Column(name = "age")
    private int age;

    // 省略构造方法、Getter和Setter
}

Dalam kelas entiti, kami menggunakan anotasi untuk menandakan lajur pangkalan data yang sepadan dengan setiap medan.

  1. Menulis Lapisan Akses Data (DAO)

Lapisan Akses Data (DAO) bertanggungjawab untuk berinteraksi dengan pangkalan data, dan kami boleh menggunakan API yang disediakan oleh rangka kerja ORM untuk memudahkan operasi.

Berikut ialah contoh mudah:

@Repository
public class UserDaoImpl implements UserDao {
    @Autowired
    private SessionFactory sessionFactory;

    @Override
    public User findById(Long id) {
        Session session = sessionFactory.getCurrentSession();
        return session.get(User.class, id);
    }

    @Override
    public void save(User user) {
        Session session = sessionFactory.getCurrentSession();
        session.save(user);
    }

    @Override
    public void update(User user) {
        Session session = sessionFactory.getCurrentSession();
        session.update(user);
    }

    @Override
    public void delete(User user) {
        Session session = sessionFactory.getCurrentSession();
        session.delete(user);
    }
}

Dalam lapisan akses data, kami menggunakan anotasi @Repository untuk mengisytiharkan kelas sebagai Spring Bean dan menggunakan anotasi @Autowired untuk menyuntik SessionFactory.

  1. Gunakan lapisan perkhidmatan untuk memanggil lapisan akses data

Akhir sekali, kita boleh menggunakan antara muka lapisan akses data dalam lapisan perkhidmatan untuk memanggil operasi pangkalan data.

Berikut ialah contoh mudah:

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;

    @Override
    public User getUserById(Long id) {
        return userDao.findById(id);
    }

    @Override
    public void saveUser(User user) {
        userDao.save(user);
    }

    @Override
    public void updateUser(User user) {
        userDao.update(user);
    }

    @Override
    public void deleteUser(User user) {
        userDao.delete(user);
    }
}

Dalam lapisan perkhidmatan, kami menggunakan anotasi @Service untuk mengisytiharkan kelas sebagai Spring Bean dan menggunakan anotasi @Autowired untuk menyuntik UserDao.

Di atas adalah langkah asas untuk menggunakan rangka kerja ORM dalam pembangunan fungsi back-end Java. Dengan menggunakan rangka kerja ORM, kami boleh mengendalikan pangkalan data dengan lebih mudah dan meningkatkan kecekapan pembangunan.

Saya harap artikel ini dapat membantu anda memahami dan mengaplikasikan rangka kerja ORM.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan rangka kerja ORM dalam pembangunan fungsi backend Java?. 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