服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

hibernate 入门之轻松上手 选择自 chainshun 的 blog

       我找到的所有hibernate入门文章分为三类:
         1、剖析的很透彻,但是例子里面只有主要代码,不能编译执行。
         2、举的例子只能在某种环境中执行,例如tomcat。 
         3、长篇大论,光一个hbm.xml就写了一页纸,晕。 
      在这里,我提供一个最简便的入门例子。(其中例子基于<2003年程序员合订本>透明的文章《冬眠的数据库》)

    步骤:
    准备工作:安装j2se sdk 1.4.2以上版本,和mysql数据库(其他数据库的话,请自己修改配置)。
 
1、下载hibernate 2.1展开。

2、创建一个自己的工作目录例如 e:/my。

3、在工作目录下建立以下文件(见文章最后):
        a. setenv.bat // 用以设置 hibernate 应用程序的编译运行所需类路径
        b. hibernate.properties // hibernate 配置文件,主要用来配置数据库
        c. user.hbm.xml // 数据类和数据表的映射设置文件
        d. hbtest.java // 主程序
        e. user.java // 数据类

4、修改setenv.bat,其中 hibernate_home 应该设成你自己的hibernate目录。

5、修改hibernate.properties 把hypersonicsql的设置注释掉,把mysql的设置去掉注释符 hibernate.connection.url jdbc:mysql:///test hibernate.connection.username root hibernate.connection.password ×××××× 把其中的mysql路径、用户名、密码设成适合自己的。

6、编译程序在dos窗口中进入工作目录,执行setenv.bat。

    然后执行如下: javac user.java javac -sourcepath ./ hbtest.java

7、执行 java hbtest 可以查看mysql中的数据库test,应该已建立了一张新表user,并插入了新记录。

8、你的第一个hibernate应用完成了。

附(除hibernate.property以外的所有文件)

setenv.bat
set hibernate_home=e:/java/hibernate-2.1 # //要改为自己的目录

set classpath=%hibernate_home%/hibernate2.jar;%hibernate_home%/lib/dom4j-1.4.jar;%hibernate_home%/lib/commons-logging-1.0.4.jar;%classpath%

set classpath=%hibernate_home%/lib/commons-collections-2.1.1.jar;%hibernate_home%/lib/odmg-3.0.jar;%hibernate_home%/lib/cglib-full-2.0.2.jar;%classpath%

set classpath=%hibernate_home%/lib/mysql-connector-java-3.0.9-stable-bin.jar;%hibernate_home%/lib/ehcache-0.9.jar;%classpath%

user.java

<pre>public class user {
                private string id;
                private string password;
                private string mail;
                private string nick_name; 
                
                user() { }
                user(string aid) { id=aid; }
                void setid(string aid) { id=aid; }
                string getid() { return id; }
                void setpassword(string pass) { password=pass; }
                string getpassword() { return password; }
                void setmail(string amail) { mail=amail; }
                string getmail() { return mail; }
                void setnick_name(string name) { nick_name=name; }
                string getnick_name() { return nick_name; }
}
</pre>

hbtest.java
<pre>
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.configuration;
import net.sf.hibernate.tool.hbm2ddl.*;
public class hbtest {
    public static void main(string[] args) {
        try {
            configuration cfg = new configuration();
            cfg.addclass(user.class);
            sessionfactory sessions=cfg.buildsessionfactory();
            new schemaexport(cfg).create(true,true);
            session session=sessions.opensession();
            user user=new user("qs");
            user.setmail("qs@sina.com");
            session.save(user); 
            session.flush();
            session.close();
    } catch(mappingexception e){
             e.printstacktrace(system.err);
    } catch(hibernateexception e){ 
             e.printstacktrace(system.err);
    }
    }
} </pre>

user.hbm.xml

扫描关注微信公众号