免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1274 | 回复: 0
打印 上一主题 下一主题

2月23日学习hibernate手记--配置第一个使用hibernate的应用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-23 11:49 |只看该作者 |倒序浏览
2月23日学习hibernate手记
1、从前几天开始学习hibernate主要是从网上参看网页上的教程来做一些例子(
http://www.hibernate.org/hib_docs/reference/zh-cn/html/quickstart.html

  从通过配置tomcat服务器开始;我的机器上有一个tomcat服务器是一个需要按装只要启动服务就可以了通过教程中的说明发现需要在tomcat中添加datasource,登陆我自己的
  服务器
http://localhost:8080/admin
来增加datasource ,在登陆的时候使用admin用户不能登陆通过查询资料后在tomcat安装目录下有一个conf目录下的文件tomcat-users.xml
  通过在该文件增加 和 登陆到管理界面进行配置(不知道是因为datasource配置的问题
  还是hibernate配置文件的问题,结果在后边配置了hibernate的配置文件hibernate.cfg.xml后在jsp文件中不能够使用tomcat配置的datasource,提示找不到datasource);
  在配置完datasource 后按照教程  开始配置  hibernate的配置文件hiberate.cfg.xml,因我使用的数据库服务器oracle数据,不是教程中使用的PostgreSQL 7.3的数据库所以
  在配置的时候和教程不太一致,我都进行了修改,在hibernate.cfg.xml文件中Session-Factory的配置如下:
   
        java:comp/env/oracle
        false
        net.sf.hibernate.dialect.OracleDialect
        
        
   
   然后根据教程内容分别建立如下的java类HibernateUtil:
   package  com.abc;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
public class HibernateUtil {
    private static Log log = LogFactory.getLog(HibernateUtil.class);
    private static final SessionFactory sessionFactory;
    static {
        try {
            // Create the SessionFactory
            sessionFactory = new Configuration().configure().buildSessionFactory();
        } catch (Throwable ex) {
            log.error("Initial SessionFactory creation failed.", ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
    public static final ThreadLocal session = new ThreadLocal();
    public static Session currentSession() throws HibernateException {
        Session s = (Session) session.get();
        // Open a new Session, if this Thread has none yet
        if (s == null) {
            s = sessionFactory.openSession();
            session.set(s);
        }
        return s;
    }
    public static void closeSession() throws HibernateException {
        Session s = (Session) session.get();
        session.set(null);
        if (s != null)
            s.close();
    }
}
java类Cat
package  com.abc;
public class Cat
{
private String id;
    private String name;
    private char sex;
    private float weight;
    public Cat() {
    }
    public String getId() {
        return id;
    }
    private void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public char getSex() {
        return sex;
    }
    public void setSex(char sex) {
        this.sex = sex;
    }
    public float getWeight() {
        return weight;
    }
    public void setWeight(float weight) {
        this.weight = weight;
    }
}
建立自己使用的java类tet
package  com.abc;
public class  tet
{
public static void abc()
{
Session session = HibernateUtil.currentSession();
    Transaction tx= session.beginTransaction();
      Cat princess = new Cat();
princess.setName("Princess");
princess.setSex('F');
princess.setWeight(7.4f);
session.save(princess);
tx.commit();
HibernateUtil.closeSession();
}
public static void main(String[] args)
{
  System.out.println("Hello World!");
}
}
通过在jsp业中调用tet在数据库中插入数据
在tomcat的webapps目录下建立quickstart目录,建立了webapp,将上述的类文件放入WEB-INF/classes/com/abc目录中
将建立的hibernate.cfg.xml和Cat.hbm.xml文件放置在WEB-INF\classes\目录下然后启动服务,打开网页提示不能找到datasource .
重复修改了很多次hibernate.cfg.xml始终提示不能找到datasource 。最后没有办法只好将配置文件修改如下内容,并将oracle的数据库jdbcdriver文件
重新打包放在WEB-INF/lib/目录下。hibernate.cfg.xml文件修改为如下内容即不使用tomcat提供的datasource :
     
        net.sf.hibernate.dialect.OracleDialect
  oracle.jdbc.driver.OracleDriver
        jdbc:oracle:thin:@192.168.0.103:1521:oracle
        system
  manager
        
        
   
在重新启动服务打开网页后数据库中增加了数据,经过几天的折腾终于做成了一个例子。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1507/showart_77608.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP