<dependency> <groupId>javax.persistence</groupId> <artifactId>javax.persistence-api</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.4.31.Final</version> </dependency> <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd" version="2.2"> <persistence-unit name="myPersistenceUnit" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <class>com.example.MyEntity</class> <properties> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/mydatabase"/> <property name="javax.persistence.jdbc.user" value="root"/> <property name="javax.persistence.jdbc.password" value="password"/> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect"/> </properties> </persistence-unit> </persistence> import javax.persistence.Entity; import javax.persistence.Id; @Entity public class MyEntity { @Id private Long id; private String name; } import java.util.List; public interface MyEntityDAO { void save(MyEntity entity); MyEntity findById(Long id); List<MyEntity> findAll(); void update(MyEntity entity); void delete(Long id); } import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.springframework.stereotype.Repository; @Repository public class MyEntityDAOImpl implements MyEntityDAO { @PersistenceContext private EntityManager entityManager; @Override public void save(MyEntity entity){ entityManager.persist(entity); } @Override public MyEntity findById(Long id){ return entityManager.find(MyEntity.class, id); } @Override public List<MyEntity> findAll(){ return entityManager.createQuery("SELECT e FROM MyEntity e", MyEntity.class).getResultList(); } @Override public void update(MyEntity entity){ entityManager.merge(entity); } @Override public void delete(Long id){ MyEntity entity = entityManager.find(MyEntity.class, id); entityManager.remove(entity); } } import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.transaction.Transactional; @Service @Transactional public class MyService { private final MyEntityDAO myEntityDAO; @Autowired public MyService(MyEntityDAO myEntityDAO) { this.myEntityDAO = myEntityDAO; } public void saveEntity(MyEntity entity){ myEntityDAO.save(entity); } public MyEntity findEntityById(Long id){ return myEntityDAO.findById(id); } public List<MyEntity> findAllEntities(){ return myEntityDAO.findAll(); } public void updateEntity(MyEntity entity){ myEntityDAO.update(entity); } public void deleteEntity(Long id){ myEntityDAO.delete(id); } }


上一篇:
下一篇:
切换中文