第一个hibernate 尝试(hibernate 入门)

来源:互联网 发布:梦想海贼王超进数据 编辑:程序博客网 时间:2024/06/05 07:22

虽然只是一个简单的hibernate测试代码,但是还是遇到比较多的 阻碍,毕竟是第一次尝试 hibernate的配置

 

工具:

eclipse 3.6 jee版本

JBossTools-Update 链接进去第一个就是!(其实只用安装hibernate tools即可,选择链接中的hibernate tools,采用link安装eclipse插件即可,插件安装若有疑问,请参考:http://developer.51cto.com/art/200906/128071.htm)

hibernate ||http://www.hibernate.org/downloads.html

mysql版本5.1

配置:

jboss配置如此链接:http://blog.csdn.net/chen471/archive/2010/07/18/5743856.aspx

创建:新的java project命名为boke

第一步

新建cfg.xml 文件,

new->other 找到如图一:

image

图一

新建cfg.xml文件 然后点next,出现下面配置窗口(图二):

image

图二

如图二,在 session factory name:我这写上mysql(无关大局的名字),database dialect 这里是选择你的 数据库方言,我这里用的是mysql 选择 mysql 5, driver class 我选择默认的 org.gjt.mm.mysql,Driver ,connection URL: 我这里为:jdbc:mysql:///test

usernamepassword上 写上你的数据的用户名和密码 点击finish

这样,新建hibernate 配置文件成功,如图三:

image

图三

第二步,我们进行利用code generation反转创建 可用的XXX pojo和 其配置文件 XXX.hbm.xml

为了能configure a code generation,我们先创建一个hibernate console configuration,如果出现 缺少 driveclass(org.gjt.mm.mysql.Driver) 在 下图(图四)中Classpath中 添加 相应数据库的jdbc链接包:

image

图四

window->show view –>other->选择 hibernate configuration。然后在  下面的 hibernate中,我们可以看见我们刚才新建的命名为 boke 的 hibernate console configuration如下图(图五):

image

图五

然后 点击

图中(图六)所示的

image 

图六

Hibernate Code Generation Configurations,

image

图七

Console configuration :选择我们刚才创建的 名为boke的hibernate console configuration

Output directory :选择 src文件下 这个可以自己选择的。

Package:选择你要输出的所在的包

点击Setup 新建 reveng.xml,选择在src文件下,点击refresh,出现一个test数据库user表,这个是 在mysql中,笔者自己新建的一个 测试表User,其中有id(integer),name(varchar(45)),address(varchar(45)),sex(boolean)

image

图八

点击user,在点击Include ,出现如上图(图八):

点击finish

然后在  code generation 窗口,点击Exporters,选择如下图(图九)所示选项:

image

图九

点击run

注:上图(图九)窗口的 Refresh和common 可以不设置,即默认。

生成代码如下(图十):

image

图十

现在我们开始

第三步,测试代码:

新建一个主类,命名为test:

在写test类之前,我们先导入 hibernate的依赖jars,如下图(图十一):

image

图十一

导入后如下:

image 

图十二

注:记得加入 mysqljdbc.jar 和hibernate3.jar

Test类代码如下:

package main;
import java.util.Iterator;
import java.util.List;

import org.hibernate.*;
import org.hibernate.cfg.Configuration;

import com.domain.User;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Configuration cfg = new Configuration().configure();
        SessionFactory factory = cfg.buildSessionFactory();
        Session session = factory.openSession();
        session.beginTransaction(); //添加记录
        User user = new User();
        user.setName("要留清气");
        user.setAddress("浙大玉泉");
        user.setSex(true);
        session.save(user);
        session.getTransaction().commit();
        session.beginTransaction();
        Query query = session.createQuery("from User");

//查询记录
        List users = query.list();
        for (Iterator iter = users.iterator(); iter.hasNext();) {
            User u = (User) iter.next();
            System.out.println("用户名 :"+u.getName());
        }
        session.getTransaction().commit();

        if(session.isOpen()){
            session.close();
        }
    }

}

点击运行出现下图(图十三)错误:

image

图十三

其中一个缺了一个 slf4j的jar,

另一个是由于未在hibernate.cfg.xml中添加Resource,即为见User类的存在告知。

添加:slf4j-nop-1.6.1.jar(可点击here找到),然后点击hibernate.cfg.xml,点击Mappings 中的add,Resource中添加 com/domain/User.hbm.xml,注意:这里的com.domain的点 必须用 / 来代替。

点击运行,测试成功如下图(图十四):

image 

图十四

这样,你的第一个hibernate的小程序就成功,继续加油吧!

如果还存在问题 请联系:wsncqs@gmail.com 谢谢!

注:本文纯属原创,笔者参考如下:http://developer.51cto.com/art/200906/128067.htm

原创粉丝点击