用myeclipse的hibernate工具自动帮我们生成hibernate相应的配置文件,这里主要是hibernate.cfg.xml、 model(相当于javabean)、*.hb.xml这几个文件,这样可以大大节省我们的工作量。
我这里用的是myeclipse7.0 hibernate3.3.1版本的。
1、首先我们建好数据库,脚本如下:
/*
SQLyog Community Edition- MySQL GUI v8.05
MySQL - 5.0.22-community-nt : Database - guestbook
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`guestbook` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `guestbook`;
/*Table structure for table `guestbook` */
DROP TABLE IF EXISTS `guestbook`;
CREATE TABLE `guestbook` (
`id` bigint(20) NOT NULL auto_increment,
`title` varchar(128) NOT NULL,
`content` varchar(2048) NOT NULL,
`author` varchar(64) NOT NULL,
`email` varchar(128) default NULL,
`createtime` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*Data for the table `guestbook` */
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
2、打开myeclipse window-->preference-->myeclipse enterprise workbench-->project capabiities-->hibernate
myeclipse7.0最高支持hibernate3.2,所以我们打开hibernate3.2面板
选择library modules里面的hibernate 3.2 core library,因为我们现在暂时只用core没有用到注解,所以选择这个。
选择后我们会看到里面有很多myeclipse自带的支持hibernater的JAR包,我们这里不用他自带的,把那些myeclipse自带的那些JAR,remove掉,再加上我们从hibernate官方网站上下载的最新版本3.3的JAR包。
然后点 apply,应用。这样我们就把myeclipse支持变成hibernate3.3版本的了。
3、给项目增加hibernate能力。
在工程名上右键,myeclipse-->add hibernate capabilties
4、配置数据库连接。
我们打开window-->show view--other-->db browser
新建一个数据源,然后输入相应的配置信息,如下图
第一次配置的时候得把mysql的驱动包加进来。不然会提示找不到驱动。
5、增加好后我们来进行反转数据库表,也就是将数据库表,转成hibernate支持的javabean以及给我们生成相应的配置文件。在db browser里找到要生成的数据库表,右键,
选择生成的映射文件的路径和包名,生成POJO映射文件和生成POJP文件勾上,
下一步,选择ID主键生成策略,这里我们选择native,其它也是可以的,不可数据库支持的生成策略有所不同。
剩下的就直接下一步下一步完成了。
完成后我们到项目中查看一下,看到已经给我们生成了相应的文件了。
最后我们写一个简单的测试类,看看数据能否插入到数据库中吧。代码如下:
package com.xie.model;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class HibernateTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Configuration cfg = new Configuration().configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Guestbook gb = new Guestbook();
gb.setTitle("冰山一角");
gb.setContent("用hibernate写留言板");
gb.setAuthor("冰山");
gb.setEmail("[email protected]");
gb.setCreatetime(new Date());
session.save(gb);
tx.commit();
session.close();
}
}
写好后,右键run as -->java application,最后我们去数据库看一下数据是否成功插入进来了。
至此我们可以很清楚的看到数据已经插入到了数据库中了。到此全部完成了,晚了要睡觉了,以后有时间再慢慢整理。