在使用hibernate进行数据库操作时在代码编写方面确实大大减少了工作量,但是需要编写大量的xml文档,所幸myeclipse提供了一种反向工程来快速构建xml文档。 本文章中数据库使用oracle、myeclipse使用2014版 下面首先看数据库,这里仅以一个login表为示例,表
在使用hibernate进行数据库操作时在代码编写方面确实大大减少了工作量,但是需要编写大量的xml文档,所幸myeclipse提供了一种反向工程来快速构建xml文档。
本文章中数据库使用oracle、myeclipse使用2014版
下面首先看数据库,这里仅以一个login表为示例,表中有三个字段,id(主键)、username、password。
数据库建立完成后,打开myeclipse。然后依次点击window-->open perspective-->myecplise hibernate
然后在右侧db browser中右击选择new后弹出以下窗体
然后填入相应的内容,首先选择相应的driver template,本示例中选择oracle(thin driver),driver name是自己命名的连接名,例如myconn,填入数据库相应的url还有用户名和密码,然后在driver jars中选择相应的数据库驱动,然后点击finish。如下:
这时在右侧的db browser中出现名为myconn的数据库连接。
然后在myconn上右击选择open connection,在弹出的窗体中填入密码即可
这是在myconn中按级展开即可找到要映射的数据表。
然后新建一个java项目或者web项目,这里以java项目为例,创建名为hibernatetest的java项目,并建立后相应的包结构。
然后在hibernatetest项目上右击,依次选择myeclipse-->project facets-->install hibernate facet然后选择相应的运行环境。
然后为生成的hibernate.cfg.xml和sessionfactory指定相应的位置
然后选择相应的连接,这里直接使用前面建立的myconn即可。
这时在hibernatetest中自动生成一个hibernate.cfg.xml文档和一个hibernatesessionfactory.java文件
然后在db browser中找到需要映射的表,右击选择hibernate reverse engineering……
然后根据弹出的窗体选择生成pojo类的存放位置,以及是否生成*.hbm.xml文件等。
这时在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); }}
这时在控制台打印输出:添加成功!
然后看一下数据库中是否插入数据: