hibernate


一.实体bean
   在类的前面注解实体Bean,@javax.persistence.Entity
   注解ID指的是:数据库表中主键的字段@javax.persistence.Id
   注解自动增长  @javax.persistence.GeneratedValue
二.Session session=HibernateUitl.getSessionFactory().openSession();
   开启session
   事务开启
   Transaction tx=session.getTransaction();
   接下来用hibernate对数据库进行增删改查
   当然这里的操作比sql中的操作简单一些
   实例化一个实体类的对象
   UserLogin这个对象和数据库中表和实体类的名字是一一对应的
   UserLogin userTemp=new UserLogin();
   userTemp.setUserID(5);
   userTemp.setUserName("wangtian");
   userTemp.setUserPassword("123456");
  
   session.saveorUpdate(userTemp);//插入,和修改
   session.delete(userTemp);
  
   用HQL查询
  
   Query query=session.createQuery("from UserLogin");使用HQL查询
   query.setFirstResult(5);设置开始的位置
   query.setMaxResult(3);设置返回的最大行数
   将查询的结果放到list中
   List listUser=query.list();//得到查询的结果
   for(int nIndex=0;nIndex        UserLogin userTemp=(UserLogin)listUser.get(nIndex);
        将其打印的结果输到客户端
        System.out.println(userTemp.getUserID()+"/t");
   }
  
   用SQL查询
  
   Query sqlquery=session.createQuery("select * from UserLogin where UserID>5");
   sqlquery.addEntity(UserLogin.class);//这句话很重要,不能省略
   List listUser=sqlQuery.list();//得到查询的结果
   for(int nIndex=0;nIndex   UserLogin userTemp=(UserLogin)listUser.get(nIndex);
     将其打印的结果输到客户端
        System.out.println(userTemp.getUserID()+"/t");
  
  以上的两个查询语句的区别是:
  a.查询数据库的语句不同
  b.sql中一定要有sqlquery.addEntity(UserLogin.class)
  c.HQL中可以实现分页的功能,FirstResult,MaxResult

三.tx.commit();提交事务
   session.close();会话关闭
  
  
  
   HibernateUtil.java
  
 
  public class HibernateUtil{
        private static org.hibernate.SessionFactory sessionFactory=null;
        private HibernateUtil(){
     }
    
     private static org.hibernate.SessionFactory getSessionFactory(){
        if(null==sessionFactory){//会话工厂的单例
          sessionFactory=new org.hibernate.cfg.AnnotationConfiguration()
          .configure().buildSessionFactory();
        }
        return sessionFactory;
     }
  }

四.导入hibernate包和sqljdbc包
  

 

 

  
  
  
  
  
  
  
  
  

  
  
  
    

你可能感兴趣的:(hibernate,数据库,query,session,bean,list)