`
独善其身008
  • 浏览: 171378 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

Hibernate操作数据库

 
阅读更多

/引入导入的hibernate包 
import net.sf.hibernate.cfg.Configuration; 
import net.sf.hibernate.HibernateException; 
import net.sf.hibernate.SessionFactory; 
import net.sf.hibernate.Session; 
import net.sf.hibernate.Transaction; 
import java.util.List; 
import com.hygj.bean.Users; 
public class HibernateUtil { 
    //定义私有变量cfg用来捕获hibernate.cfg.xml配制文件 
    private net.sf.hibernate.cfg.Configuration cfg=null; 
    //定义变量sf用来管理连接 
    private net.sf.hibernate.SessionFactory sf=null; 
    //定义session用来实现具体的操作 
    private net.sf.hibernate.Session session=null; 
    //管理一个用户的多种操作,进行事物的管理 
    private net.sf.hibernate.Transaction tr=null; 

    public HibernateUtil() { 
      try { 
        cfg = new net.sf.hibernate.cfg.Configuration().configure(); 
        sf=cfg.buildSessionFactory(); 
      } 
      catch (HibernateException ex) { 
      } 
    } 


    //全部查询 
    public void chaxun(){ 
      System.out.println("----chaxun----"); 
      //产生回话 
      try { 
        this.sessions = this.sff.openSession(); 
        session = sf.openSession(); 
        //开始事务 
        this.trs = this.sessions.beginTransaction(); 
        tr=session.beginTransaction(); 
        //生成查询 
        net.sf.hibernate.Query query=session.createQuery("from Users"); 
        //获得结果集 
        List list=query.list(); 
        java.util.Iterator it=list.iterator(); 
        while(it.hasNext()){ 
          Users user=(Users)it.next(); 
          System.out.println("id:"+user.getId()); 
          System.out.println("name:"+user.getUsername()); 
          System.out.println("password:"+user.getPassword()); 
          System.out.println("--------"); 
        } 
        //执行完成,提交事务 
        tr.commit(); 
      } 
      catch (HibernateException ex) { 
      } 
      finally{ 
        try { 
          session.close(); 
        } 
        catch (HibernateException ex1) { 
        } 
      } 
    } 

    //根据编号查询 
    public void chaxun(int id){ 
      try { 
        session = sf.openSession(); 
        tr=session.beginTransaction(); 
        //产生查询,需要根据id进行查询 
       net.sf.hibernate.Query query=session.createQuery("from Users where id=?"); 
        // net.sf.hibernate.Query que=session.createQuery("from Users where id=:id"); 
      //先为参数赋值,再查询 
      query.setInteger(0,id); 
      //que.setInteger("id",id); 
       //List list=que.list(); 
      List list=query.list(); 
      //进行空对象验证 
      if(list.size()>0){ 
        Users user=(Users)list.get(0); 
        System.out.println("id:"+user.getId()); 
          System.out.println("name:"+user.getUsername()); 
          System.out.println("password:"+user.getPassword()); 
          System.out.println("--------"); 

      } 
      else{ 
        System.out.println("no record"); 
      } 
      tr.commit(); 
      } 
      catch (HibernateException ex) { 
      } 
      finally{ 
        try { 
          session.close(); 
        } 
        catch (HibernateException ex1) { 
        } 
      } 

    } 

//模糊查询 
    public void chaxun(String name){ 
      try { 
        session = sf.openSession(); 
        tr=session.beginTransaction(); 
        //产生查询,需要根据id进行查询 
       net.sf.hibernate.Query query=session.createQuery("from Users where username like ?"); 
        // net.sf.hibernate.Query que=session.createQuery("from Users where id=:id"); 
      //先为参数赋值,再查询 
      String str="%"+name+"%"; 
      query.setString(0,str); 
      //que.setInteger("id",id); 
       //List list=que.list(); 
      List list=query.list(); 
      //进行空对象验证 
      if(list.size()>0){ 
       for(int i=0;i<list.size();i++){ 
         Users user=(Users)list.get(i); 
       System.out.println("id:"+user.getId()); 
         System.out.println("name:"+user.getUsername()); 
         System.out.println("password:"+user.getPassword()); 
         System.out.println("--------"); 
       } 

      } 
      else{ 
        System.out.println("no record"); 
      } 
      tr.commit(); 
      } 
      catch (HibernateException ex) { 
      } 
      finally{ 
        try { 
          session.close(); 
        } 
        catch (HibernateException ex1) { 
        } 
      } 


    } 

//添加数据 
    public void add(String name,String pwd){ 
      try { 
        session = sf.openSession(); 
        tr=session.beginTransaction(); 
        //实例化新的bean 类 
        Users user=new Users(); 
        //为bean赋值 
        user.setUsername(name); 
        user.setPassword(pwd); 
        //保存提交 
        session.save(user); 
        tr.commit(); 
      } 
      catch (HibernateException ex) { 
      } 
      finally{ 
        try { 
          session.close(); 
        } 
        catch (HibernateException ex1) { 
        } 
      } 

    } 

//修改数据 
    public void update(int id,String pwd){ 
      try { 
        session = sf.openSession(); 
        tr=session.beginTransaction(); 
        //先定位数据 
        net.sf.hibernate.Query query=session.createQuery("from Users where id=?"); 
        query.setInteger(0,id); 
        List list=query.list(); 
        if(list.size()>0){ 
          Users user=(Users)list.get(0); 
          //该密码 
          user.setPassword(pwd); 
          //保存回去 
          session.update(user); 
          session.flush(); 
          tr.commit(); 
          System.out.println("update ok"); 
        } 
        else{ 
          System.out.println("no record can be updated"); 
        } 
      } 
      catch (HibernateException ex) { 
      } 
      finally{ 
        try { 
          session.close(); 
        } 
        catch (HibernateException ex1) { 
        } 
      } 


    } 


//删除数据 
    public void delete(int id){ 
      try { 
        session = sf.openSession(); 
        tr=session.beginTransaction(); 
        //先定位数据 
        net.sf.hibernate.Query query=session.createQuery("from Users where id=?"); 
        query.setInteger(0,id); 
        List list=query.list(); 
        if(list.size()>0){ 
          Users user=(Users)list.get(0); 
          //删除数据 
          session.delete(user); 
          session.flush(); 
          tr.commit(); 
          System.out.println("delete ok"); 
        } 
        else{ 
          System.out.println("no record can be deleted"); 
        } 
      } 
      catch (HibernateException ex) { 
      } 
      finally{ 
        try { 
          session.close(); 
        } 
        catch (HibernateException ex1) { 
        } 
      } 


    } 

    public static void main(String[] args) { 
      HibernateUtil hibernateUtil1 = new HibernateUtil(); 
      //hibernateUtil1.add("subin","123456"); 
      //hibernateUtil1.chaxun(3); 
      //hibernateUtil1.update(3,"9876543"); 
      //hibernateUtil1.chaxun(3); 
      hibernateUtil1.delete(4); 
    } 



连接操作在配置文件hibernate.cfg.xml中完成 

<?xml version="1.0" encoding="utf-8" ?> 
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" 
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"> 
<hibernate-configuration> 
<session-factory> 
    <property name="dialect"> 
    net.sf.hibernate.dialect.SQLServerDialect 
    </property> 
    <property name="show_sql">true</property> 
    <property name="connection.driver_class"> 
    com.microsoft.jdbc.sqlserver.SQLServerDriver 
    </property> 
    <property name="connection.url"> 
    jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs; 
    </property> 
    <property name="connection.username"> 
    sa 
    </property> 
    <property name="connection.password"> 

    </property> 

    <mapping resource="com/hygj/bean/Users.hbm.xml" /> 
</session-factory> 
</hibernate-configuration> 

分享到:
评论

相关推荐

    Hibernate操作数据库的步骤

    以下是对"Hibernate操作数据库的步骤"的详细解释: 1. **读取并解析配置文件**:在Hibernate中,配置文件(通常是`hibernate.cfg.xml`)包含了数据库连接信息,如URL、用户名、密码等。`Configuration`类用于加载这...

    java使用hibernate操作数据库jar

    Java使用Hibernate操作数据库是现代Java应用中常见的技术实践,Hibernate作为一个强大的对象关系映射(ORM)框架,极大地简化了数据库的交互。它允许开发者用Java对象来表示数据库中的记录,而无需关心底层SQL的实现...

    Java封装hibernate操作数据库.rar

    本资料包"Java封装hibernate操作数据库.rar"主要涉及了如何使用Hibernate进行数据库操作,并通过DAO(Data Access Object)层的封装来实现更加高效、简洁的代码结构。 首先,让我们深入了解Hibernate。Hibernate是一...

    Hibernate操作数据库的方法

    Hibernate操作数据库时,主要通过以下几个核心组件来实现持久层操作: 1. **Session**:Session是Hibernate用来和数据库进行交互的一个轻量级对象,它相当于JDBC中的Connection。Session对象是应用程序与数据库进行...

    hibernate操作数据库笔记

    使用Hibernate的Session对象操作数据库 1.初始化Hibernate:在要使用Hibernate的类的方法中实例化Configuration对象并用Configuration对象的configure()方法将hibernate.cfg.xml中的配置加载到内存,即: ...

    使用Hibernate操作数据库的7个步骤.txt

    使用Hibernate操作数据库的7个步骤.txt ,很简单的

    hibernate数据库相关操作步骤

    Hibernate是一款强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用中操作数据库的简便方法。通过使用Hibernate,开发人员可以避免直接编写SQL语句,而是通过面向对象的方式来管理和操作数据。本文将...

    Hibernate 多数据库支持解决方案

    Hibernate是一个强大的Java持久化框架,它允许开发者将对象模型与关系数据库进行映射,从而简化了数据库操作。在处理多数据库支持时,Hibernate提供了一些策略和技巧来确保应用程序能够在不同类型的数据库之间灵活...

    hibernate动态数据库进化版

    ORM允许开发者使用面向对象的方式来操作数据库,而无需关注底层的SQL语句。通过配置文件或注解,Hibernate可以将Java对象与数据库表进行映射,实现了数据的透明访问。 在动态数据库进化版中,我们可能涉及到以下几...

    hibernate连接金仓数据库所需jar包集合lib.7z

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过Java对象来操作数据库,极大地简化了数据库操作。金仓数据库,又称为Kingbase,是一款国产的高性能、高可靠性的关系型数据库管理...

    Hibernate配置数据库连接

    配置数据库连接是使用 Hibernate 进行数据库操作的基础步骤。正确地配置数据库连接不仅能够确保应用程序能够顺利访问数据库,还能够提高程序的运行效率。此外,合理的配置还可以帮助我们更好地管理数据库资源,减少...

    Hibernate与JDBC对于数据库CRUD操作性能示例

    Hibernate与JDBC对于数据库的性能操作对比事例,配置,更多信息资源

    hibernate动态数据库改进版

    Hibernate是一个开源的ORM框架,它允许开发者使用面向对象的方式来操作数据库,通过映射机制将Java对象与数据库表进行对应,从而避免了繁琐的SQL语句编写。 1.2 动态数据库需求 在实际开发中,我们可能需要根据用户...

    hibernate框架下对oracle数据库操作所需jar包.zip

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它简化了与数据库交互的过程,使得开发者可以使用面向对象的方式来操作数据库。对于Oracle数据库的支持,Hibernate提供了专门的驱动和配置,使得...

    Hibernate 显示数据库数据

    在Java开发中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以用Java对象来操作数据库记录。本教程针对初学者,将介绍如何使用Hibernate从数据库中查询并显示数据。 ...

    封装好的hibernate数据库操作(增,删,改,查,分页)

    对hibernate的数据库操作封装: 1.分页查询 2.保存对象 3.保存对象组 4. 更新对象 5.更新对象组 6.保存或更新对象 7.保存或更新对象组 8. 删除对象 9. 删除对象组 10.删除对象(此类的所有对象) 11.删除(HQL) 12....

    hibernate和数据库的各种包

    Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。在Java开发中,Hibernate是连接Java应用程序与多种数据库(如MySQL和Oracle)的重要桥梁...

    根据hibernate反向生成数据库的java代码

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过Java对象来操作数据库,而无需编写大量的SQL语句。"根据Hibernate反向生成数据库的Java代码"这一主题涉及到的主要知识点包括...

    Hibernate不同数据库的连接及SQL方言

    Hibernate不同数据库的连接及SQL方言 在Hibernate中,连接不同的数据库需要使用不同的数据库连接驱动程序和SQL方言。下面我们将详细介绍如何在...通过配置文件中的设置,我们可以轻松地连接和操作不同的数据库。

Global site tag (gtag.js) - Google Analytics