您的位置:首页 > 其它

第一个hibernate 尝试(hibernate 入门)

2010-07-18 10:44 477 查看
虽然只是一个简单的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 找到如图一:



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



图二 如图二,在 session factory name:我这写上mysql(无关大局的名字),database dialect 这里是选择你的 数据库方言,我这里用的是mysql 选择 mysql 5, driver class 我选择默认的 org.gjt.mm.mysql,Driver ,connection URL: 我这里为:jdbc:mysql:///test
usernamepassword上 写上你的数据的用户名和密码 点击finish
这样,新建hibernate 配置文件成功,如图三:



图三 第二步,我们进行利用code generation反转创建 可用的XXX pojo和 其配置文件 XXX.hbm.xml
为了能configure a code generation,我们先创建一个hibernate console configuration,如果出现 缺少 driveclass(org.gjt.mm.mysql.Driver) 在 下图(图四)中Classpath中 添加 相应数据库的jdbc链接包:



图四

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



图五
然后 点击
图中(图六)所示的


 
图六 Hibernate Code Generation Configurations,



图七 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)



图八 点击user,在点击Include ,出现如上图(图八):
点击finish
然后在  code generation 窗口,点击Exporters,选择如下图(图九)所示选项:



图九 点击run
注:上图(图九)窗口的 Refresh和common 可以不设置,即默认。
生成代码如下(图十):



图十

现在我们开始
第三步,测试代码:
新建一个主类,命名为test:
在写test类之前,我们先导入 hibernate的依赖jars,如下图(图十一):



图十一 导入后如下:


 
图十二 注:记得加入 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();
        }
    }
}
点击运行出现下图(图十三)错误:




图十三 其中一个缺了一个 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的点 必须用 / 来代替。
点击运行,测试成功如下图(图十四):


 
图十四 这样,你的第一个hibernate的小程序就成功,继续加油吧!
如果还存在问题 请联系:wsncqs@gmail.com 谢谢!
注:本文纯属原创,笔者参考如下:http://developer.51cto.com/art/200906/128067.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: