欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MyEclipse使用反向工程

程序员文章站 2022-06-11 15:25:34
...

在使用Hibernate进行数据库操作时在代码编写方面确实大大减少了工作量,但是需要编写大量的XML文档,所幸MyEclipse提供了一种反向工程来快速构建XML文档。 本文章中数据库使用Oracle、MyEclipse使用2014版 下面首先看数据库,这里仅以一个Login表为示例,表

在使用Hibernate进行数据库操作时在代码编写方面确实大大减少了工作量,但是需要编写大量的XML文档,所幸MyEclipse提供了一种反向工程来快速构建XML文档。

本文章中数据库使用Oracle、MyEclipse使用2014版

下面首先看数据库,这里仅以一个Login表为示例,表中有三个字段,id(主键)、username、password。

MyEclipse使用反向工程

数据库建立完成后,打开MyEclipse。然后依次点击window-->Open Perspective-->MyEcplise Hibernate

MyEclipse使用反向工程

然后在右侧DB Browser中右击选择New后弹出以下窗体

MyEclipse使用反向工程

然后填入相应的内容,首先选择相应的Driver Template,本示例中选择Oracle(Thin Driver),Driver Name是自己命名的连接名,例如MyConn,填入数据库相应的URL还有用户名和密码,然后在Driver JARs中选择相应的数据库驱动,然后点击Finish。如下:

MyEclipse使用反向工程

这时在右侧的DB Browser中出现名为MyConn的数据库连接。

MyEclipse使用反向工程

然后在MyConn上右击选择Open Connection,在弹出的窗体中填入密码即可

MyEclipse使用反向工程

这是在MyConn中按级展开即可找到要映射的数据表。

MyEclipse使用反向工程

然后新建一个java项目或者web项目,这里以java项目为例,创建名为HibernateTest的java项目,并建立后相应的包结构。

MyEclipse使用反向工程

然后在HibernateTest项目上右击,依次选择MyEclipse-->Project Facets-->install Hibernate Facet然后选择相应的运行环境。

MyEclipse使用反向工程

然后为生成的hibernate.cfg.xml和sessionfactory指定相应的位置

MyEclipse使用反向工程

然后选择相应的连接,这里直接使用前面建立的MyConn即可。

MyEclipse使用反向工程

这时在HibernateTest中自动生成一个hibernate.cfg.xml文档和一个HibernateSessionFactory.java文件

然后在DB Browser中找到需要映射的表,右击选择Hibernate Reverse Engineering……

MyEclipse使用反向工程

然后根据弹出的窗体选择生成POJO类的存放位置,以及是否生成*.hbm.xml文件等。

MyEclipse使用反向工程

这时在entity包下生成该映射文件以及POJO类,然后我们写一个保存的方法对其进行测试,具体代码如下:

package dao;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;

import sessionfactory.HibernateSessionFactory;
import entity.Login;

public class BaseDao {
	public void save(Login login) {
		Session session = HibernateSessionFactory.getSession();
		Transaction tran = null;
		try {
			tran = session.beginTransaction();
			session.save(login);
			tran.commit();
			System.out.println("添加成功!");
		} catch (HibernateException e) {
			tran.rollback();
			System.out.println("插入失败!");
		}
	}
}

然后在主方法中对该类进行调用,如下:

package test;

import java.math.BigDecimal;

import dao.BaseDao;
import entity.Login;

public class Test {
	public static void main(String[] args) {
		BaseDao bd = new BaseDao();
		Login login = new Login(new BigDecimal(1), "小刚", "12345678");
		bd.save(login);
	}
}

这时在控制台打印输出:添加成功!

然后看一下数据库中是否插入数据:

MyEclipse使用反向工程