在Eclipse中创建简单Hibernate项目
2017-04-29 15:09
411 查看
最近学习JavaEE中有个练手项目要用Hibernate,在整个过程中出现了不少错误,网上查到的一些资料都不够齐全,所以我重新整理了一下步骤,我的设备是Mac,但是大致步骤相同。
有任何错误欢迎指正!
创建数据表
创建项目和持久化对象
创建配置文件Hibernate.cgf.xml
编写辅助工具类
编写Dao层并测试
搜索JBoss Tool并完成安装,安装中的选项都默认,一直next和accept就可以了
顺利安装完毕后应该能创建Hibernate.cfg.xml文件。如图:
如果没有的话请重新安装JBoss工具,安装期间不要做任何多余操作,也不要断网,至此Hibernate环境安装完毕。
在工具栏中找到Window-Show View-Other
找到Data Source Explorer 选择OK
此时会显示如下画面(其中的New Mysql是我之前创建的):
新建
找到自己使用的数据库,输入名称(随便输入),Next
填写如图:
选择驱动页(此处出现Unable to local的报错,不管):
再点击JAR List,选择之前导入的数据库jar包:
此时返回Name/Type页,报错消失,点击OK:
点击Test Connection测试是否连接成功
成功后点击Finish(失败的话可能是信息填写错误,或者驱动没选对)
选择Hibernate
在界面左边出现Hibernate Config标签,可以看到刚才创建的项目
在工具栏找到如图选项:
新建一个configuration,将内容填写好,如果没有model包需要先创建。
setup一个hibernate.reveng.xml文件,选中所有表点击Include,然后Finish
Explorers标签页选择如下,点击run
成功后会在org.model包中自动生成如下内容:
点击Get values from Connection,选择刚才新建的数据库连接(如果没有新建数据库连接,可以自行填写内容)
结果如图:
将信息填写完整,勾选Create a console configuartion,点击Finish:
在生成的hibernate.cfg.xml文件,增加mapping内容,对应org.model包下的hbm.xml文件(如果没修改,后期测试的时候会找不到映射)
有任何错误欢迎指正!
Hibernate项目开发流程:
搭建Hibernate环境创建数据表
创建项目和持久化对象
创建配置文件Hibernate.cgf.xml
编写辅助工具类
编写Dao层并测试
1. 搭建Hibernate环境
在工具栏里找到Help-Eclipse Marketplace…搜索JBoss Tool并完成安装,安装中的选项都默认,一直next和accept就可以了
顺利安装完毕后应该能创建Hibernate.cfg.xml文件。如图:
如果没有的话请重新安装JBoss工具,安装期间不要做任何多余操作,也不要断网,至此Hibernate环境安装完毕。
2.创建数据表
此处用到的是Mysql,其他数据库软件也可以,操作类似。3.创建项目
1.创建项目
2.导入需要的Jar包
包括数据库的jar,Hibernate的jar(此项目还包括Struts2的jar)。这些包可以到官网下载也可以直接在csdn下载别人分享的!
4000
3.新建数据库连接(可跳过)
在工具栏中找到Window-Show View-Other找到Data Source Explorer 选择OK
此时会显示如下画面(其中的New Mysql是我之前创建的):
新建
找到自己使用的数据库,输入名称(随便输入),Next
填写如图:
选择驱动页(此处出现Unable to local的报错,不管):
再点击JAR List,选择之前导入的数据库jar包:
此时返回Name/Type页,报错消失,点击OK:
点击Test Connection测试是否连接成功
成功后点击Finish(失败的话可能是信息填写错误,或者驱动没选对)
4.自动创建持久化对象
在工具栏找到Window-Perspective-Open Perspective-Other..选择Hibernate
在界面左边出现Hibernate Config标签,可以看到刚才创建的项目
在工具栏找到如图选项:
新建一个configuration,将内容填写好,如果没有model包需要先创建。
setup一个hibernate.reveng.xml文件,选中所有表点击Include,然后Finish
Explorers标签页选择如下,点击run
成功后会在org.model包中自动生成如下内容:
4.创建配置文件Hibernate.cgf.xml
在项目名上右键,创建一个hibernate.cfg.xml文件点击Get values from Connection,选择刚才新建的数据库连接(如果没有新建数据库连接,可以自行填写内容)
结果如图:
将信息填写完整,勾选Create a console configuartion,点击Finish:
在生成的hibernate.cfg.xml文件,增加mapping内容,对应org.model包下的hbm.xml文件(如果没修改,后期测试的时候会找不到映射)
5. 编写辅助工具类
新建org.factory包(名字可随意),在该包中新建HibernateUtil.java文件(名字可随意),内容如下:package org.factory; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; //如果import部分报错,说明没有导入jar包 @SuppressWarnings("deprecation") public class HibernateUtil { private static SessionFactory sessionFactory; // 创建线程局部变量threadLocal,用来保存Hibernate的Session private static final ThreadLocal<Session> threadLocal=new ThreadLocal<Session>(); // 使用静态代码块初始化Hibernate static { try { // 读取配置文件 Configuration cfg=new Configuration().configure(); // 创建SessionFactory sessionFactory=cfg.buildSessionFactory(); }catch(Throwable ex) { throw new ExceptionInInitializerError(ex); } } // 获得SessionFactory的实例 public static SessionFactory getsSessionFactory() { return sessionFactory; } // 获得ThreadLocal对象管理的Session public static Session getsSession() throws HibernateException { Session session=(Session) threadLocal.get(); if(session==null||!session.isOpen()) { if(sessionFactory==null) { rebuildSessionFactory(); } // 通过SessionFactory对象创建Session对象 session=(sessionFactory!=null)?sessionFactory.openSession():null; // 将Session对象保存到线程局部变量threadLocal中 threadLocal.set(session); } return session; } // 关闭Session实例 public static void closeSession() { // 从线程局部变量threadLocal中获取之前存入的Session实例 Session session=(Session)threadLocal.get(); threadLocal.set(null); if(session!=null) { session.close(); } } // 重建SessionFactory public static void rebuildSessionFactory() { Configuration configuration=new Configuration(); configuration.configure("/hibernate.cfg.xml"); sessionFactory=configuration.buildSessionFactory(); } // 关闭缓存和连接池 public static void shutdown() { getsSessionFactory().close(); } }
6. 编写DAO层并测试
此处就不详细写了。要根据自己设计的数据库内容编写。相关文章推荐
- Eclipse使用(七)—— 使用Eclipse创建JavaWeb项目并使用JDBC连接数据库实现简单的登陆注册功能
- 使用Eclipse无插件搭建一个简单的Hibernate项目
- eclipse+drools 6.5开发环境搭建,以及创建一个简单的drools项目
- JavaEE完全实战详解笔记--在Eclipse中创建一个简单的web项目
- [使用心得]maven2之m2eclipse使用手册之六使用Maven2插件创建一个简单的SSH2项目之glassfish篇(二)
- eclipse创建springboot简单项目
- 用eclipse创建一个最简单的velocity项目
- eclipse+drools 6.5开发环境的搭建,以及创建一个简单的drools项目
- 安装C语言集成开发工具Eclipse For C并创建一个简单的示例项目HelloWorld
- 5、eclipse创建简单gradle项目-仓库的指向
- [使用心得]maven2之m2eclipse使用手册之六使用Maven2插件创建一个简单的SSH2项目之tomcat篇
- eclipse创建简单的web-maven项目
- 可能是最简单的方式:利用Eclipse创建基于Maven的Web项目
- Eclipse创建简单Maven项目
- Java 安装教程(Eclipse) + 汉化 + 简单创建java项目
- Maven和Eclipse:m2eclipse -- 创建一个简单的Maven项目
- eclipse创建简单的web-maven项目
- 使用eclipse 创建一个简单的java项目(helloWorld)
- [使用心得]maven2之m2eclipse使用手册之六使用Maven2插件创建一个简单的SSH2项目之glassfish篇(一)