<dependency> <groupId>javax.persistence</groupId> <artifactId>javax.persistence-api</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>5.5.6.Final</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> package com.example.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; } package com.example.dao; import com.example.entity.User; public interface UserDao { User findById(Long id); User save(User user); void delete(User user); } package com.example.dao.impl; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import com.example.dao.UserDao; import com.example.entity.User; @Repository @Transactional public class UserDaoImpl implements UserDao { @PersistenceContext private EntityManager entityManager; @Override public User findById(Long id) { return entityManager.find(User.class, id); } @Override public User save(User user) { if (user.getId() == null) { entityManager.persist(user); return user; } else { return entityManager.merge(user); } } @Override public void delete(User user) { entityManager.remove(user); } } spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=root spring.datasource.password=password spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true package com.example; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import com.example.dao.UserDao; import com.example.entity.User; @SpringBootApplication public class App { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(App.class); UserDao userDao = context.getBean(UserDao.class); User newUser = new User(); newUser.setName("John Doe"); newUser.setEmail("john.doe@example.com"); userDao.save(newUser); User existingUser = userDao.findById(newUser.getId()); existingUser.setName("Jane Doe"); userDao.save(existingUser); User deleteUser = userDao.findById(existingUser.getId()); userDao.delete(deleteUser); context.close(); } }


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