一.首先,我们新建一个Java项目,取名为HibernateTest。
二.因为hibernate框架是用面向对象的思想来操作数据库,那么一定要建立数据库和表。
(1).这里我使用的是MySQL 5.6版本的数据库,大家可以去网上下载MySQL,我没有使用MySQL自带的管理工具和命令行工具,使用的是一款SQLyog工具,下载地址:http://download.csdn.net/detail/u012561176/8728955 ,其中关于一些数据库的jar包,也可以通过这个地址下载:http://download.csdn.net/detail/u012561176/8586153,都是免积分下载的,我们安装好MySQL后,再安装SQLyog管理工具后,开启MySQL服务,打开Sqlyog工具,如下图所示:
先点击测试连接,看是否可以正常连接到MySQL数据库,然后再点击连接按钮,即可。
(2).我们在这个管理工具里新建一个数据库student及相应的表stuinfo表,如下图所示:
点击保存即可,其中我们添加了一些数据。
三.配置数据库:
(1).打开MyEclipse工具里的Window菜单栏下的Open Perspective子菜单的MyEclipse Database Explorer,如下图所示:
点击之后,如下图所示:
(2).我们可以在DB Browser那里的空白处鼠标右键,选择New之后,在弹出的对话框当中配置数据库连接,如下图所示:
在配置对话框上,Driver template:选择数据库驱动类型,Driver name:数据库驱动名,输入数据库连接URL,输入数据库用户名和密码,然后在Driver JARs里添加MySQL JDBC的驱动包即可,如下图所示:
点击Test Driver进行测试,弹出下图对话框证明连接驱动成功:
(3).然后点击Next按钮,选择第三个,点击Add,如下图所示:
在MySQL中,相当于选择数据库,选择我们所需要加载的数据库,如下图所示:
点击Finsh按钮,完成数据库的配置,如下图所示:
四.初始化Hibernate开发环境,即使用MyEclipse自带的Hibernate来配置:
(1).在我们创建的那个Java项目HibernateTest上右键单击,选择MyEclipse下的Add Hibernate Capabilities后,弹出下图Hibernate的配置窗口,选择Hibernate 3.3版本:
(2).点击Next按钮,创建一个新的Hibernate配置文件,如下图所示:
(3).点击Next按钮,配置数据库的信息,在DB Driver当中选择刚刚定义的数据库连接配置,MyEclipse将自动填充相应的配置信息,包括JDBCDriver、URL、Username、Password及Dialect,如下图所示:
(4).点击Next按钮,在新的对话框当中点击Java package所在行的New按钮,该功能是定义HibernateSessionFactory所在路径,然后在Java Package的Name中输入包名,如下图所示:
点击Finish后,如下图所示:
(5).最后点击Finish后,该Java项目HibernateTest的目录结构如下:
我们可以看到,系统自动给我们生成了HibernateSessionFactory.java及hibernate.cfg.xml配置文件,其中Hibernate环境需要的MySQL JDBC驱动包也添加进去了。
五.通过反向工程,生成POJO及hbm映射文件,即生成持久化对象和映射文件,其中持久化对象的属性和表的字段一一映射:
(1).在DB Browser配置界面,进入student数据库,选择stuinfo表,如下图所示:
(2).右键单击stuinfo,选择Hibernate Reverse Engineering后,弹出如下的对话框,其中Java src folder选择我们那个HibernateTest项目,Java package选择com包,详细如下所示:
(3).点击Next按钮,在新的对话框当中,在Id Generator的选项可以根据关键字的设计进行选择,这里我们选择默认,如下图所示:
(4).点击Next按钮,可以修改类名和列名,如下图所示:
(5).最后,点击Finish后,HibernateTest项目目录结构如下:
六.测试用例:
(1).在HibernateTest项目下的com包下新建一个Test.java文件,其中我们可以向数据表stuinfo插入id,name,sex,age,,然后再把这些信息输出到控制台下,代码如下:
- <span style=“font-size:12px;”>package com;
- import java.util.ArrayList;
- import org.hibernate.Session;
- import org.hibernate.Transaction;
- public class Test {
- public static void main(String[] args){
- Test test=new Test();//实例化Test类
- test.insert();//调用insert方法
- }
- public void insert(){
- Session session=HibernateSessionFactory.getSession();//通过HibernateSessionFactory类的getSession方法获得Session对象
- Transaction tx=session.beginTransaction();//开始事务
- Stuinfo info=new Stuinfo(2, “Lc”, “man”, 23);//通过Stuinfo这个类的构造方法设置id、name、sex、age值
- session.save(info);//通过session保存info对象
- session.flush();//刷新session
- ArrayList list=(ArrayList) session.createQuery(”from Stuinfo s where s.id=’2’”).list();//执行HQL语句,查询到id为2的对象内容,并转换为list集合
- for(int i=0;i<list.size();i++){
- Stuinfo stu=(Stuinfo) list.get(i);//获取到对象的值
- System.out.println(”Id:”+stu.getId()+“,Name:”+stu.getName()+“,Sex:”+stu.getSex()+“,Age:”+stu.getAge());//打印从stu对象里获取到的值
- }
- tx.commit();//提交事务
- session.close();//关闭session
- }
- }
- </span>
(2).运行后,结果如下:
(3).查看一下数据是否插入数据库里,发现插入进去了,如下图所示:
七.其中Hibernate可以进行手动配置,但是太为复杂,大家可以去官网下载HIbernate 4版本的,然后把下载到的zip包解压,把lib文件夹里的required目录下的jar包添加进项目中去,有的MyEclipse版本已经有了Hibernate 4.1版本,但是我们班一些同学搞这个版本一直出错,改成Hibernate 3.3版本便可以了。如果对于Hibernate的工作原理不理解的话,可以看我这篇文章:http://blog.csdn.net/u012561176/article/details/45875629
八.以上内容仅供大家学习参考,写得不好,请见谅,如有错误,请指出,谢谢!
原文出处:http://blog.csdn.net/u012561176/article/details/45919751
</div>
</div>