lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
阅读:1291回复:11

Hibernate入门(我学习Hibernate的过程和体会)

楼主#
更多 发布于:2005-06-08 10:29
      Hibernate本身是个独立的框架,它不需要任何web server或application server的支持。然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss。这容易让人产生Hibernate复杂难懂的误解,特别是打击了象我这种笨蛋初学者的积极性~~~~
  
      在一个偶然的项目中,我接触了Hibernate3.0,其中还用到了Eclipse, log4j, Struts, Tomcat, XDoclet,和JBoss等一系列让我这种初学者一听到就会打击我继续学习积极性的狗屁东西,经过了两个月的摸索和电子99的师哥LongZhi的精心指导,我开始渐渐的接受这个新的,时髦的ORM工具,我觉得这个东西最大的特点就是轻量级封装,避免引入过多复杂的问题,调试容易,也减轻程序员的负担,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

      说了这么多,我还是想把我使用这东西过程中的一些细节写出来,以供4C的JAVAFAN来参考,由于是初学,不可避免的出现一些可笑的错误,希望大家狂批,在这篇文章中,我们就不涉及Eclipse, log4j, Struts, Tomcat, XDoclet,和JBoss。目的是演示一下Hibernate的安装过程以及最基本的功能,让大家感受一些他的强大功能.

      (1):我们需要Java SDK、 Hibernate包、Ant包、和JDBC Driver(JDBC Driver要根据你用的database来定,一般database官方网站上都会有。Hibernate支持常用的database,比如 MySQL, Oracle, PostgreSQL, 和MS-SQL Server。)。JDK我用的是5.0,HIBERNATE用的是3.0,至于在哪里下载我就不用说了吧:-)
 
      (2):配置环境;
      1、添加一个新的环境变量: ANT_HOME,让它指向c:\dev\<的ANT包所在目录>并在PATH环境变量里添加ANT_HOME% \bin。

  2、添加一个新的环境变量: JAVA_HOME,让它指向你的j2sdk根目录。并在PATH环境变量里添加%JAVA_HOME%\bin。

  3、创建一个项目目录,比如c:\workspace\MyHibernate。

  在项目目录下,另外创建三个目录: src, classes, lib。

  在lib目录下,创建两个目录: hibernate和db。

  这样你有了如下的文件结构:

                                                    (未完)



      


--------------------
做人,做事,做工作。
[ 2005-06-08 10:34:42 lijiannan_1981 修改 ] [ 2005-06-08 10:35:23 lijiannan_1981 修改 ]
无。
下网卡
知名人士
知名人士
  • 铜币1枚
  • 威望1点
  • 贡献值0点
1C#
发布于:2005-06-08 10:43
Re:Hibernate入门(我学习Hibernate的过程和体会)
沙发啊 哈哈

以后具体再修改回复你, 还没想好呢
--------------------

http://evita.512j.com [ 2005-06-08 10:48:47 下网卡 修改 ]
特别想念kmwang, APH, momo, 松松,旺旺
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
2C#
发布于:2005-06-08 14:46
Re:Hibernate入门(我学习Hibernate的过程和体会)
[ 2005-06-10 14:56:78 0000 修改 ] --------------------            [a=http://northway.blogchina.com/]寻找失落的路灯 @ North.Light[/a]
   有沒有事比死更容易? 有沒有事比活更難?
               ~     幸福是一雙溫暖的紅唇    ~
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
southeast
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
3C#
发布于:2005-06-08 16:00
Re:Hibernate入门(我学习Hibernate的过程和体会)
期待。。。。。

其实只需要jdk,hibernate2,jar,db,db driver,就够了。当然少不了编辑器 --------------------
[img]http://www.wait4c.com/bbs/userfiles/2196/2005051614543457820.jpg[/img]
北京小妞
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
4C#
发布于:2005-06-25 22:29
Re:Hibernate入门(我学习Hibernate的过程和体会)
好牛B耶!
[b] [color=#ff0036]Every breath you take Every move you make Every bond you break Every step you take I'll be watching you Every single day Every word you say Every game you play Every night you say I'll be watching you O can't you see You belong to me How my poor heart aches With every step you take Every move you make Every vow you break Every smile you fake Every claim you stake I'll be watching you[/color] [/b]
suchasplus
作家
作家
  • 铜币16枚
  • 威望11点
  • 贡献值1点
5C#
发布于:2005-06-28 00:38
Re:Hibernate入门(我学习Hibernate的过程和体会)
~~upupupup
The history of these days will be written in blood... By crushing the armies of our enemy, by seizing the weapons they thought to turn against us, we were fighting for our very existence!
灭绝师太
知名人士
知名人士
  • 铜币0枚
  • 威望0点
  • 贡献值0点
6C#
发布于:2005-06-28 17:11
Re:Hibernate入门(我学习Hibernate的过程和体会)
好啊好,长见识。
再过些日子就可以去飞思工作室了,专门写java书。
用心操纵光影,将会得到拍摄灵魂的力量。 [img]http://www.wait4c.com/bbs/userfiles/6164/2007091421160765786.jpg[/img]
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
7C#
发布于:2005-06-28 17:44
Re:Hibernate入门(我学习Hibernate的过程和体会)
(接上文)
c:\workspace\My1stHibernatec:\workspace\MyHibernate\src
c:\workspace\MyHibernate\classes
c:\workspace\MyHibernate\lib
c:\workspace\MyHibernate\lib\hibernate
c:\workspace\MyHibernate\lib\db

4、将c:\dev\<的Hibernate包所在目录>hibernate3.jar文件copy到c:\workspace\MyHibernate\lib\hibernate下。

  将c:\dev\<的Hibernate包所在目录>lib\下的所有文件同样copy到c:\workspace\MyHibernate\lib\hibernate下。

  将你的JDBC Driver文件(一般是一个jar文件)copy到c:\workspace\MyHibernate\lib\db下。
创建数据库

  1、用你最喜爱的database软件(我用的是mysql),创建一test的数据库。

  2、在此数据库下,新建一个table名为CUSTOMER

CREATE TABLE CUSTOMER
(
 CID INTEGER NOT NULL PRIMARY KEY, USERNAME VARCHAR(12) NOT NULL, PASSWORD VARCHAR(12)
);

编写Java文件(可用工具生成)

public class Customer {
 private int id;
 private String username;
 private String password;

 public int getId() {
  return id;
 }

 public String getPassword() {
  return password;
 }

 public String getUsername() {
  return username;
 }

 public void setId(int id) {
  this.id = id;
 }

 public void setPassword(String password) {
  this.password = password;
 }

 public void setUsername(String username) {
  this.username = username;
 }

}

  将此类存为c:\workspace\MyHibernate\src\Customer.java文件。

编写Test类

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;

public class Test {

 public static void main(String[] args) {
  try {
   SessionFactory sf = new Configuration().configure().buildSessionFactory();
   Session session = sf.openSession();
   Transaction tx = session.beginTransaction();

   for (int i = 0; i <200; i++) {
    Customer customer = new Customer();
    custoā?mer.setUsername("customer" + i);
    customer.setPassword("customer");
    session.save(customer);
   }

   tx.commit();
   session.close();
  } catch (HibernateException e) {
   e.printStackTrace();
  }
 }
}

  将此类存为c:\workspace\MyHibernate\src\Test.java文件。

(未完)


[ 2005-06-28 17:46:07 lijiannan_1981 修改 ]
无。
southeast
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
8C#
发布于:2005-07-05 16:13
Re:Hibernate入门(我学习Hibernate的过程和体会)
楼主,这样是不行的。

你用的是hibernate的包,但是程序里用的是hibernate2的包
[img]http://www.wait4c.com/bbs/userfiles/2196/2005051614543457820.jpg[/img]
southeast
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
9C#
发布于:2005-07-05 16:24
Re:Hibernate入门(我学习Hibernate的过程和体会)
hibernate中所必需要的jar包:(hibernate3.0为例)
dom4j*    用于解析xml配置(如果用propertise文件配置的话不知道需不需要,还没试)
cglib*       有点核心的味道,不懂
commons collections\commons logging    hibernate使了commons里的工具
asm.jar    有关TYPE(hibernate核心)
ehcache  有关cache
hibernate3.jar
jta  事务
db-driver  (mysql)connect/j




[img]http://www.wait4c.com/bbs/userfiles/2196/2005051614543457820.jpg[/img]
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
10C#
发布于:2005-07-05 18:05
Re:Hibernate入门(我学习Hibernate的过程和体会)
呵呵
谢谢龙兄弟了:)
一开始用得是H2,过了一段时间出H3了,现在正在用
马上改过来
无。
southeast
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
11C#
发布于:2005-07-05 21:08
Re:Hibernate入门(我学习Hibernate的过程和体会)
我少写了个3都被你看出来了嗦,呵呵
我也是今天用的时候才发现的,以前用的是2,今天下得是3,出现好多错误,才发现3跟2的hibernate包结构相差很大了.
[img]http://www.wait4c.com/bbs/userfiles/2196/2005051614543457820.jpg[/img]
游客

返回顶部