hibernate正向生成数据库表以及配置——TestStu.java
2023-09-14 08:57:41 时间
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();
}
}
}
相关文章
- Java 数据库操作
- MySQL_(Java)使用JDBC向数据库中删除(delete)数据
- Java 开发环境配置--eclipse工具进行java开发
- JAVA-MyEclipse第一个实例
- java实现遍历树形菜单方法——数据库表的创建
- hibernate正向生成数据库表以及配置——Teacher.java
- hibernate正向生成数据库表以及配置——Student.java
- hibernate正向生成数据库表以及配置——Student.java
- 单独java 程序连接Mysql数据库
- Java实现 LeetCode 188 买卖股票的最佳时机 IV
- java实现南北朝时
- Java实现 蓝桥杯VIP 算法提高 特殊的质数肋骨
- Java实现 蓝桥杯VIP 算法训练 链表数据求和操作
- Java实现蓝桥杯历届试题高僧斗法
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- java数据库编程:使用元数据分析数据库
- 认识程序的执行:从高级语言到二进制,以java为例
- 【JAVA】Java 异常中e的getMessage()和toString()方法的异同
- Derby安装,创建数据库,在Java程序中使用Derby
- Java -- JDBC 学习--数据库连接池
- 【JAVA】java中split以"." 、""、“|”分隔字符串
- 【JAVA】 03-Java中的异常和包的使用
- [Spring Java] identify transactional business services boundaries
- Java集合使用注意事项总结
- Java java.util.concurrent.Future的一个例子
- 【java】Java 枚举(enum)如何使用以及原理
- 数据库与java操作小有体会
- 一文详解java线程池 详解Java线程池的七个参数 详解池化技术 java如何选择核心线程数 详解Java线程池的拒绝策略
- java 从数据库表反射出实体类,自动生成实体类
- Java连接MySQL数据库
- JAVA连接ACCESS、MYSQL、SQLSEVER、ORACLE数据库
- java的定时器用法
- Java开发入门到精通之Java的数据库访问
- Java刷题面试系列习题(十四)