Chinaunix首页 | 论坛 | 博客
  • 博客访问: 203147
  • 博文数量: 73
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 750
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-13 18:32
文章分类

全部博文(73)

文章存档

2009年(1)

2008年(72)

我的朋友

分类: Java

2008-03-24 20:39:07

  一,首先看一个Hibernate程序。

#操作对象User.java
package com.biaoflying;

public class User {
    private Integer id,age;
    private String name;
    public Integer getId(){
        return id;
    }
    public void setId(Integer id){
        this.id=id;
    }
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name=name;
    }
    public Integer getAge(){
        return age;
    }
    public void setAge(Integer age){
        this.age=age;
    }
}

#数据存取的接口及其实现类
#IUserDAO.java
package com.biaoflying;

public interface IUserDAO {
    public void insert(User user);
    public User find(Integer id);
}
#UserDAO.java
package com.biaoflying;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

public class UserDAO implements IUserDAO {
    private SessionFactory sessionFactory;
   
    public UserDAO(){
       
    }
    public UserDAO(SessionFactory sessionFactory){
        this.sessionFactory=sessionFactory;
    }
    public void setSessionFactory(
            SessionFactory sessionFactory){
        this.sessionFactory=sessionFactory;
    }
    public void insert(User user){
        Session session=sessionFactory.openSession();
        Transaction tx=session.beginTransaction();
        session.save(user);
        tx.commit();
        session.close();
    }
    public User find(Integer id){
        Session session=sessionFactory.openSession();
        User user=(User)session.get(User.class,id);
        session.close();
        return user;
    }
}

#主程序
public class HibernateDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Configuration config=
            new Configuration().configure();
        SessionFactory sessionFactory=
            config.buildSessionFactory();
        IUserDAO userDAO=new UserDAO(sessionFactory);
       
        User user=new User();
        //user.setId(new Integer(1));
        user.setName("abio");
        user.setAge(new Integer(22));
       
        userDAO.insert(user);
       
        user=userDAO.find(new Integer(1));
        System.out.println("name: "+user.getName());
    }
}

  使用Hibernate的一个关键就是它的配置文件。

 
#User.hbm.xml定义User类到table行的映射

    PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "">


    
        
            
        

        
        
        
    


#hibernate.cfg.xml

  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "">
 

   
       
            true
       

       
       
            org.hibernate.dialect.MySQLDialect
       

       
            com.mysql.jdbc.Driver
       

       
            jdbc:mysql://localhost/demo
       

       
            root
       

       
            602436
       

       
       
   


#附:.xml文件的存放位置
C:\javawork\workspace\HibernateDemo\bin\hibernate.cfg.xml
C:\javawork\workspace\HibernateDemo\bin\com\biaoflying\User.hbm.xml

  2,将Hibernate整合至Spring.

 
#删除hibernate.cfg.xml文件,创建beans-config.xml文件。

 "">
 

            class="org.springframework.
          jdbc.datasource.DriverManagerDataSource">
        
            com.mysql.jdbc.Driver
        

        
            jdbc:mysql://localhost:3306/demo
        

        
            root
        

        
            602436
        

    

    
            class="org.springframework.
          orm.hibernate3.LocalSessionFactoryBean"
        destroy-method="close">
        
            
        

        
            
                com/
                  biaoflying/User.hbm.xml

            

        

        
            
                
                    org.hibernate.dialect.MySQLDialect    
                

            

        

    

    
    
        
            
        

    


#主程序
package com.biaoflying;

import org.springframework.context.ApplicationContext;
import org.springframework.context.
            support.FileSystemXmlApplicationContext;

public class SpringHibernateDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ApplicationContext context=
            new FileSystemXmlApplicationContext(
                    "beans-config.xml");
       
        IUserDAO userDAO=
            (IUserDAO)context.getBean("userDAO");
        User user=new User();
        user.setName("caterpillar");
        user.setAge(new Integer(22));
       
        userDAO.insert(user);
       
        user=userDAO.find(new Integer(1));
        System.out.println("name: "+user.getName());
    }

}




阅读(765) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~