<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="123456"/> </bean> @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "username") private String username; @Column(name = "password") private String password; } <persistence-unit name="myPersistenceUnit" transaction-type="RESOURCE_LOCAL"> <class>com.example.User</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/> <property name="hibernate.hbm2ddl.auto" value="create"/> </properties> </persistence-unit> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="persistenceUnitName" value="myPersistenceUnit"/> <property name="packagesToScan" value="com.example"/> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"/> </bean> @Repository public class UserRepository { @PersistenceContext private EntityManager entityManager; @Transactional public void save(User user) { entityManager.persist(user); } @Transactional public void update(User user) { entityManager.merge(user); } @Transactional public void delete(User user) { entityManager.remove(user); } public User findById(Long id) { return entityManager.find(User.class, id); } } @Service public class UserService { @Autowired private UserRepository userRepository; @Transactional public void saveUser(User user) { userRepository.save(user); } public User getUserById(Long id) { return userRepository.findById(id); } }


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