在上面项目中添加save,delete,update,find四个方法用于学生对象的CRUD操作,并且要在main方法中调用这四个方法,完成相关操作
时间: 2024-03-08 13:45:45 浏览: 72
好的,我可以为你提供一个示例代码,演示如何在Hibernate中实现学生对象的CRUD操作:
```
public class StudentDAO {
private SessionFactory sessionFactory;
public StudentDAO(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public void save(Student student) {
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
session.save(student);
session.getTransaction().commit();
}
public void update(Student student) {
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
session.update(student);
session.getTransaction().commit();
}
public void delete(Student student) {
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
session.delete(student);
session.getTransaction().commit();
}
public Student findById(Long id) {
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
Student student = session.get(Student.class, id);
session.getTransaction().commit();
return student;
}
}
```
其中,StudentDAO是一个DAO类,用于封装学生对象的CRUD操作。这个类有一个SessionFacotry对象,用于获取Session对象。save、update、delete、findById四个方法分别对应学生对象的保存、更新、删除和查找操作。这些方法都是通过Session对象来进行数据库操作的。
在Main类中,你可以创建一个StudentDAO对象,然后使用这个对象来进行学生对象的CRUD操作。比如,你可以编写一个类似下面的代码:
```
public class Main {
public static void main(String[] args) {
// 创建SessionFactory
Configuration configuration = new Configuration().configure();
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties()).build();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
// 创建StudentDAO对象
StudentDAO studentDAO = new StudentDAO(sessionFactory);
// 创建一个新的Student对象
Student student = new Student();
student.setName("张三");
student.setGender("男");
student.setNumber("20210001");
student.setAge(20);
student.setDiscription("这是一个学生");
// 保存学生对象到数据库中
studentDAO.save(student);
// 更新学生对象到数据库中
student.setAge(21);
studentDAO.update(student);
// 根据ID查找学生对象
Student foundStudent = studentDAO.findById(student.getId());
System.out.println(foundStudent.getName());
// 删除学生对象
studentDAO.delete(foundStudent);
// 关闭SessionFactory
sessionFactory.close();
}
}
```
在这个代码中,你可以看到,创建一个SessionFactory对象和一个StudentDAO对象,然后使用StudentDAO对象来进行学生对象的CRUD操作。最后,记得关闭SessionFactory对象。
当然,以上只是一个简单的示例代码,实际开发中还需要考虑很多细节和问题,比如事务管理、异常处理、性能优化等。如果你需要更详细的帮助,可以提供更具体的需求和问题,我会尽力帮助你。
阅读全文