zoukankan      html  css  js  c++  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();
    		}
    	}
    
    }
    

  • 相关阅读:
    vue 设置全局变量、指定请求的 baseurl
    npm ERR! missing script: build
    npm install 报错,提示`gyp ERR! stack Error: EACCES: permission denied` 解决方法
    vue-cli 4 安装与 新建项目 路由
    PHP7安装redis扩展
    C#中的list的System.Predicate<in T>和System.Comparison<in T>的应用
    6个2教你认识递归的力量!
    C#中的预编译指令介绍[转]
    C#---数据库访问通用类、Access数据库操作类、mysql类 .[转]
    GOTO语句以及GOTO机制的模式实现
  • 原文地址:https://www.cnblogs.com/a1111/p/7459776.html
Copyright © 2011-2022 走看看