hibernate

本文介绍如何使用 Hibernate 进行数据库操作,包括实体类定义、基本的 CRUD 操作及 HQL 和 SQL 查询方法。


一.实体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<listUser.size();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<listUser.size();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包
  

 

 

  
  
  
  
  
  
  
  
  

  
  
  
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Career(IT)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值