首页 > 解决方案 > 如何在 HibernateUtil 上设置 junit5 配置

问题描述

有没有办法将 junit 配置添加到 HibernateUtil 文件?我正在尝试运行 Junit 测试用例,但我没有 pom.xml 文件,而是有 HibernateUtil 文件。如果您还有其他问题,请告诉我,非常感谢

公共类 HibernateUtil { 私有静态 SessionFactory sessionFactory;

public static SessionFactory getSessionFactory() {
    if (sessionFactory == null) {
        try {
            Configuration configuration = new Configuration();
            ////

            // Hibernate settings equivalent to hibernate.cfg.xml's properties
            Properties settings = new Properties();
            settings.put(Environment.DRIVER, "com.mysql.jdbc.Driver");
            settings.put(Environment.URL, "jdbc:mysql://gradebook-db.coafasz82zsa.us-east-2.rds.amazonaws.com:3306/gradebook");
            settings.put(Environment.USER, "root");
            settings.put(Environment.PASS, "rootroot");
            settings.put(Environment.DIALECT, "org.hibernate.dialect.MySQL5Dialect");

            settings.put(Environment.SHOW_SQL, "true");

            settings.put(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread");

            settings.put(Environment.HBM2DDL_AUTO, "update");

            configuration.setProperties(settings);
            configuration.addAnnotatedClass(User.class);
            configuration.addAnnotatedClass(Course.class);
            configuration.addAnnotatedClass(Teacher.class);
            configuration.addAnnotatedClass(Student.class);
            configuration.addAnnotatedClass(Assignment.class);
            configuration.addAnnotatedClass(Grade.class);
            ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
                .applySettings(configuration.getProperties()).build();
            System.out.println("Hibernate Java Config serviceRegistry created");
            sessionFactory = configuration.buildSessionFactory(serviceRegistry);
            return sessionFactory;

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return sessionFactory;
}

}


class TestCourses {

Session session = HibernateUtil.getSessionFactory().openSession();

@Test
public void testValidateTeacher() {
    TeacherDao td = new TeacherDao();
    boolean output = td.validateTeacher("teachertest", "password");
    assertEquals(true, output);
}

@Test
public void testgetTeacherCourseList() {
    TeacherDao td = new TeacherDao();
    ArrayList<Course> output = td.getTeacherCourseList("sech");
      ArrayList<Course> courses = null;
        String sql = "SELECT c.cname, c.tname, c.semester , c. cid\r\n"
                + "FROM courses c\r\n"
                + "JOIN teacher ON teacher.tname = c.tname and\r\n"
                + "teacher.username =\""+"sech"+"\";";
        SQLQuery query = session.createSQLQuery(sql);
        query.addEntity(Course.class);
        courses = (ArrayList<Course>) query.list();
    assertEquals(courses, output);
}

}

标签: hibernateconfigurationjunit5

解决方案


推荐阅读