sql CREATE TABLE student ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT NOT NULL, email VARCHAR(50) NOT NULL ); public class Student { private int id; private String name; private int age; private String email; } <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mydb" /> <property name="username" value="username" /> <property name="password" value="password" /> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan" value="com.example.model" /> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop> </props> </property> </bean> public interface StudentDAO { Student getById(int id); void save(Student student); void update(Student student); void delete(Student student); } @Repository public class StudentDAOImpl implements StudentDAO { @Autowired private SessionFactory sessionFactory; @Override public Student getById(int id) { return sessionFactory.getCurrentSession().get(Student.class, id); } @Override public void save(Student student) { sessionFactory.getCurrentSession().save(student); } @Override public void update(Student student) { sessionFactory.getCurrentSession().update(student); } @Override public void delete(Student student) { sessionFactory.getCurrentSession().delete(student); } } <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:annotation-driven transaction-manager="transactionManager" /> @Service @Transactional public class StudentService { @Autowired private StudentDAO studentDAO; public Student getById(int id) { return studentDAO.getById(id); } public void save(Student student) { studentDAO.save(student); } public void update(Student student) { studentDAO.update(student); } public void delete(Student student) { studentDAO.delete(student); } } @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:applicationContext.xml") public class StudentServiceTest { @Autowired private StudentService studentService; @Test public void testCRUD() { Student student = new Student(); student.setName("John"); student.setAge(20); student.setEmail("john@example.com"); studentService.save(student); assertNotNull(student.getId()); Student retrievedStudent = studentService.getById(student.getId()); assertEquals(student.getName(), retrievedStudent.getName()); student.setName("Peter"); studentService.update(student); studentService.delete(student); assertNull(studentService.getById(student.getId())); } }


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