public interface UserDAO { User findById(int id); List<User> findAll(); void save(User user); void update(User user); void delete(User user); } @Repository public class UserDAOImpl implements UserDAO { @PersistenceContext private EntityManager entityManager; @Override public User findById(int id) { return entityManager.find(User.class, id); } @Override public List<User> findAll() { CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery<User> cq = cb.createQuery(User.class); Root<User> root = cq.from(User.class); cq.select(root); TypedQuery<User> query = entityManager.createQuery(cq); return query.getResultList(); } @Override public void save(User user) { entityManager.persist(user); } @Override public void update(User user) { entityManager.merge(user); } @Override public void delete(User user) { entityManager.remove(user); } } <dependencies> ... <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> ... </dependencies> properties spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect @Autowired private UserDAO userDAO; User user = userDAO.findById(1); List<User> users = userDAO.findAll(); User newUser = new User(); newUser.setName("John"); userDAO.save(newUser); user.setName("Tom"); userDAO.update(user); userDAO.delete(user);


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