`
mxx_1111
  • 浏览: 59202 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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();
		}
	}

}

分享到:
评论

相关推荐

    根据hibernate反向生成数据库的java代码

    Hibernate的逆向工程工具,也被称为Hibernate Tools,能够从现有的数据库结构自动生成对应的Java持久化类(Entity)、Hibernate配置文件(hibernate.cfg.xml)以及映射文件(.hbm.xml)。这样,开发者可以快速地...

    Hibernate 配置各种数据库

    例如,对于 MySQL 数据库,我们可以使用 org.hibernate.dialect.MySQLDialect 方言;对于 Oracle 数据库,我们可以使用 org.hibernate.dialect.OracleDialect 方言。 在 Hibernate 中配置不同的数据库需要选择合适...

    hibernate根据字段生成数据库表

    Hibernate 提供了一个非常实用的功能——基于实体类自动生成数据库表,这不仅能够显著提高开发效率,还能减少人为错误。本文将详细介绍如何利用 Hibernate 的 `SchemaExport` 类实现这一功能。 #### 二、准备工作 ...

    hibernate自动生成数据库文件

    综上所述,Hibernate自动生成数据库文件涉及到ORM设计、Hibernate Tools的使用、配置文件的编写、Java注解的理解以及数据库操作的最佳实践等多个方面。掌握这些知识点有助于高效地利用Hibernate进行数据库开发。

    hibernate反向生成数据库表.doc

    1. 创建一个`hibernate.reveng.xml`文件,指定哪些类应该映射到数据库表,以及任何自定义的映射规则。 2. 使用Hibernate工具类`HibernateTool`执行反向工程。例如,通过调用`HibernateUtil.generateSchema()`方法,...

    JAVA通过实体生成数据库表

    运行Generator后,会自动生成Mapper接口、XML配置文件以及实体类对应的数据库表。 总结来说,"JAVA通过实体生成数据库表"是Java开发中提高效率的一种方式,它结合了反射和ORM技术,使得我们可以快速地根据业务需求...

    根据hibernate配置文件生成数据库.zip

    这个文本文件详细介绍了如何在Hibernate的配置文件(通常是hibernate.cfg.xml)中设置参数,以便让hbm2ddl工具工作。配置文件中应包含数据库驱动、URL、用户名和密码等信息,以及是否自动创建或更新数据库的设置。...

    hibernate连接金仓数据库所需jar包集合lib.7z

    3. **实体类映射**:为数据库表创建对应的Java实体类,并使用Hibernate的注解或XML文件进行映射配置。 4. **初始化SessionFactory**:在应用程序启动时,根据`hibernate.cfg.xml`创建SessionFactory实例,它是所有...

    hibernate反向生成数据库程序

    首先,我们需要了解Hibernate的配置文件`hibernate.cfg.xml`,这个文件包含了数据库连接信息、数据源设置、实体类映射等关键配置。在代码中,我们创建了一个`Configuration`实例,并通过`configure("hibernate.cfg....

    hibernate反向生成数据库表

    利用hibernate的逆向工程生成数据库表

    利用Middlegen Hibernate3生成hbm.xml配置和java类

    Middlegen是一个开源工具,它能够根据数据库的表结构自动生成Hibernate的配置文件以及Java源代码。这样,开发者就不需要手动编写hbm.xml文件来描述数据库表与Java类之间的关系,也不需要为每个表创建对应的Java实体...

    Eclipse数据库hibernate反向生成数据库类

    然后,我们可以打开Hibernate Configurations窗口,添加一个新的配置,选择项目和数据库连接,新建Hibernate相关配置文件(hibernate.properties和hibernate.cfg.xml)。 在 Edit Configuration 窗体中,我们可以...

    hibernate@注解方式配置实体类,调用javadoc接口生成数据库表及字段的注释说明

    hibernate@注解方式配置实体类时,利用javadoc接口生成数据库表及字段的注释说明,支持oracle、sqlserver、db2、mysql数据库。因用到java\lib\tools.jar,需要将该jar放入工程lib下(或者tomcat\lib下、或加入...

    hibernate映射文件生成数据库

    3. 配置Hibernate:在Hibernate的配置文件(如`hibernate.cfg.xml`)中,添加映射文件路径,让Hibernate知道哪些映射文件需要被加载。 4. 使用工具或API生成数据库:有了映射文件,你可以使用Hibernate的`...

    hibernate框架下对oracle数据库操作所需jar包.zip

    例如,一个名为`User`的表可以对应一个`User.java`实体类,并通过`@Entity`注解标记为Hibernate实体。 6. **Session工厂和Session** Hibernate通过SessionFactory创建Session对象,Session是与数据库交互的接口。...

    达梦数据库7.6最新的驱动包及hibernate方言包

    这个压缩包包含了达梦数据库7.6版本与不同Java Development Kit (JDK) 版本兼容的驱动包,以及适用于Hibernate 5.3及以下版本的方言包。 驱动包对于Java开发者来说至关重要,它们是Java应用程序连接到达梦数据库的...

    Hibernate 3.2反向生成数据库文件

    这些代码包括实体类(对应数据库表)、映射文件(描述数据库表与Java对象的关系)以及可选的DAO和服务层代码。 6. **整合到项目中**: 将生成的代码添加到你的项目中,并在需要的地方引用这些类,从而实现对数据库的...

    java自动生成bean 根据数据库表及字段

    标题"java自动生成bean 根据数据库表及字段"描述的就是这样一个功能,它可以根据数据库中的表和字段信息,自动生成对应的Java Bean源代码,同时还能根据配置的模板添加特定的注释,如MySQL的注释。 在Java世界里,...

    JSP源码——webdgs.zip

    【标题】"JSP源码——webdgs.zip"是一个包含Web应用程序源代码的压缩文件,主要用于学习和研究JSP(JavaServer Pages)技术。这个压缩包可能是一个完整的Web项目,用于展示如何在实际开发中整合多种技术,如Spring、...

    java生成数据库表序列号

    在Java编程中,生成数据库表序列号通常涉及到数据库序列(Sequence)的概念,这是数据库系统用于自动为表生成唯一标识符的一种机制。Oracle、PostgreSQL等数据库支持序列,而MySQL等数据库可能通过自增主键来实现...

Global site tag (gtag.js) - Google Analytics