hibernate正向生成数据库表以及配置——TestStu.java

简介: hibernate正向生成数据库表以及配置——TestStu.java

package cn.bdqn.studentInfo.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import cn.bdqn.studentInfo.entity.Student;
import cn.bdqn.studentInfo.entity.Teacher;

/**

  • 测试类
  • @author Administrator

*
*/
public class testStu {


private Configuration conf=null;
private SessionFactory sessionFac=null;
private Session session=null;
private Transaction tx=null;


/**
 * 正向创建数据表
 */
@Test
public void createDB(){
    Configuration conf=new Configuration()
                            .configure();
    SchemaExport export =new SchemaExport(conf);
    export.create(true, true);
}
/**
 * 测试
 */
@Test
public void testMethod(){
    Session session=new Configuration().configure().buildSessionFactory().openSession();
    Transaction tx=session.beginTransaction();
    try{
    //创建两个学生对象
    Student student1=new Student();
    student1.setName("张同学");
    student1.setId(9);
    
    Student student2=new Student();
    student2.setName("王同学");
    student2.setId(10);
    //创建两个老师对象
    Teacher teacher1=new Teacher();
    teacher1.setId(9);
    teacher1.setName("武老师");
    
    Teacher teacher2=new Teacher();
    teacher2.setId(10);
    teacher2.setName("程老师");
    
    /**
     * 关联双方的关系
     */
    
    //告诉张同学,武老师和程老师都带着你的课
    student1.getTeachers().add(teacher1);
    student1.getTeachers().add(teacher2);
    //告诉王同学,武老师和程老师都带着你的课
    student2.getTeachers().add(teacher1);
    student2.getTeachers().add(teacher2);
    //告诉武老师,你现在带着王、张同学的课
    teacher1.getStudents().add(student1);
    teacher1.getStudents().add(student2);
    //告诉程老师,你现在带着王、张同学的课
    teacher2.getStudents().add(student1);
    teacher2.getStudents().add(student2);
    //添加
    session.save(student1);
    session.save(student2);
    /*session.save(teacher1);
    session.save(teacher2);*/
    tx.commit();
    }catch (Exception e) {
        tx.rollback();//添加失败时,进行回滚
        e.printStackTrace();
    }
    
}

/**
 * 关闭session
 */
@After
public void closeSession(){
    if(session!=null){
        session.close();
    }
}

}

目录
相关文章
|
2月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——TestStu.java
hibernate正向生成数据库表以及配置——TestStu.java
|
2月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.hbm.xml
hibernate正向生成数据库表以及配置——Teacher.hbm.xml
|
2月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.java
hibernate正向生成数据库表以及配置——Teacher.java
|
2月前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Student.java
hibernate正向生成数据库表以及配置——Student.java
|
7天前
|
SQL 缓存 Java
使用Hibernate实现复杂数据库查询优化策略
使用Hibernate实现复杂数据库查询优化策略
|
7天前
|
SQL 缓存 Java
使用Hibernate实现复杂数据库查询优化策略
使用Hibernate实现复杂数据库查询优化策略
|
1月前
|
前端开发 Java 关系型数据库
在Spring3 MVC中五步配置集成注解方式Hibernate3
在Spring3 MVC中五步配置集成注解方式Hibernate3
28 3
|
20天前
|
缓存 Java 数据库连接
解析Hibernate与JPA:Java对象的数据库化之旅
【6月更文挑战第25天】在Java企业开发中,Hibernate和JPA提供优雅的数据持久化方案。Hibernate是JPA规范的强大ORM实现,简化对象与数据库映射。配置环境后,通过@Entity注解定义实体类映射表,如`User`类映射"users"表。利用JPA的EntityManager执行查询和更新,如JPQL查询及对象更新。事务管理和性能优化是关键,确保数据完整性和应用性能。本文揭示了Hibernate与JPA的最佳实践,助开发者从容应对数据持久化。
|
20天前
|
存储 Java 数据库连接
深入探索Hibernate与JPA:Java对象与数据库表的桥梁
【6月更文挑战第25天】Java ORM如Hibernate和JPA简化了数据库交互。在电商系统案例中,JPA注解如`@Entity`、`@Table`、`@Id`定义了对象-表映射。Hibernate利用这些定义实现持久化,如`Session.save()`保存用户对象至数据库,降低了复杂性并提升了开发效率。
|
24天前
|
Oracle Java 关系型数据库
[学习笔记] 在Eclipse中使用Hibernate,并创建第一个Demo工程,数据库为Oracle XE
[学习笔记] 在Eclipse中使用Hibernate,并创建第一个Demo工程,数据库为Oracle XE