`
小覃Smile
  • 浏览: 715 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

hibernate框架

 
阅读更多

1、所需要架包

 

直接把hibernate中lib/required中的所有包放进去以及连接oracle数据库的架包。

 

2、写实现类(例如:标签类)

 

package com.chinasofti.ask.entity;

import java.util.HashSet;
import java.util.Set;

public class Tag {
    private String id;  //主键id
    private String name;  //标签名
    private int questionNums;  //问题的数量
    
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getQuestionNums() {
        return questionNums;
    }
    public void setQuestionNums(int questionNums) {
        this.questionNums = questionNums;
    }
 

 

3、写hibernate.cfg.xml配置文件(放在src目录下)

 

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>

    <!-- 加载驱动 -->
    <property name="connection.driver_class">
        oracle.jdbc.driver.OracleDriver
    </property>

    
    <!-- URL -->

    <property name="connection.url">
        jdbc:oracle:thin:@localhost:1521:ORCL
    </property>
    <property name="connection.username">jung</property>
    <property name="connection.password">jung</property>
    <property name="dialect">
        org.hibernate.dialect.Oracle12cDialect
    </property>

   
    <!-- 是否显示sql语句 -->

    <property name="show_sql">true</property>
    <property name="format_sql">true</property>


   <!-- 映射Tag.hbm.xml文件 -->

    <mapping resource="com/chinasofti/ask/entity/Tag.hbm.xml" />

</session-factory>
</hibernate-configuration>

 

 4、写Tag.hbm.xml配置文件(放在实体类包下)

 

<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">


<!-- 映射包路径,一定不要写错 -->

<hibernate-mapping package="com.chinasofti.ask.entity">
    <class name="Tag" table="t_tag">
        <id name="id">

         <!-- uuid自动生成id主键 -->

            <generator class="uuid" />
        </id>
        <property name="name" />
        <property name="questionNums" />   
 
    </class>
</hibernate-mapping>

 

5、写hibernate连接工具类

 

 package com.chinasofti.ask.util;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class HibernateUtil
{
    private static SessionFactory factory;
    
    static{
        Configuration configuration=new Configuration().configure();
        factory=configuration.buildSessionFactory();        
    }
    
    public static SessionFactory getFactory()
    {
        return factory;
    }
    
    public static Session getSession()
    {
        Session session=HibernateUtil.getFactory().openSession();
        return session;
    }
    //增加
    public static  <T> void add(T t)
    {
        Session session=getSession();
        Transaction transaction=session.beginTransaction();
        session.save(t);
        transaction.commit();
        session.close();
    }
   

   //修改

    public static <T> void update(T t) {
        Session session=getSession();
        Transaction transaction=session.beginTransaction();
        session.update(t);
        transaction.commit();
        session.close();        
    }
   

    //删除

    public static <T> void delete(Class<T> c, String id)
    {
        Session session=getSession();
        Transaction transaction=session.beginTransaction();
        session.delete(session.get(c, id));
        transaction.commit();
        session.close();  
    }
   

    //根据id查询

    public static <T> T query(Class<T> c, String id)
    {
        Session session=getSession();
        Transaction transaction=session.beginTransaction();
        T t=session.get(c, id);
        transaction.commit();
        session.close();  
        return t;
    }


    //查询全部
    public static <T> List<T> queryAll(Class<T> c)
    {
        Session session=getSession();
        Transaction transaction=session.beginTransaction();
        List<T> list=session.createQuery("from "+c.getSimpleName()).list();
        transaction.commit();
        session.close();
        return list;
    }

}

 

6、写DAO层

 

package com.chinasofti.ask.dao;

import java.util.List;

import com.chinasofti.ask.entity.Tag;
import com.chinasofti.ask.util.HibernateUtil;

public class TagDao
{
    public void addTag(Tag tag)
    {
        HibernateUtil.add(tag);
    }
   
    public void updateTag(Tag tag)
    {
        HibernateUtil.update(tag);
    }
   
    public void deleteTag(String id)
    {
        HibernateUtil.delete(Tag.class,id);
    }
   
    public Tag queryTag(String id)
    {
        return HibernateUtil.query(Tag.class, id);
    }
   
    public List<Tag> queryAllTag()
    {
        return HibernateUtil.queryAll(Tag.class);
    }
   
}

 

7、写测试类(需要导入junit测试包)

 

package com.chinasofti.ask.test;

import java.util.List;
import org.junit.Before;
import org.junit.Test;

import com.chinasofti.ask.dao.TagDao;
import com.chinasofti.ask.entity.Tag;

public class TestTag
{
    private TagDao tagDao;
   
    @Before
    public void before()
    {
        tagDao=new TagDao();
    }
   
    @Test
    public void addTag()
    {
        Tag tag=new Tag();
       tag.setName("string");
       tag.setQuestionNums(2);     
      
       tagDao.addTag(tag);
       
    }
   
    @Test
    public void deleteTag(){
        tagDao.deleteTag("2c848f9f555c031b01555c031f1f0000");
       
    }
   
    @Test
    public void update()
    {
        Tag tag=tagDao.queryTag("2c848f9f5558a9ec015558a9f2f60002");
        tag.setQuestionNums(3);
       
        tagDao.updateTag(tag);
    }
   
    @Test
    public void query()
    {
        Tag tag=tagDao.queryTag("2c848f9f5558a9ec015558a9f2f60002");
        System.out.println(tag.getName()+","+tag.getQuestionNums());
       
    }
   
    @Test
    public void queryAll()
    {
        List<Tag> list=tagDao.queryAllTag();
        for (Tag tag : list)
        {
            System.out.println(tag.getId()+","+tag.getName());
        }
    }
}

分享到:
评论

相关推荐

    .hibernate 框架介绍

    Hibernate框架在企业级应用中得到了广泛的应用,它封装了JDBC的细节,减轻了数据访问层的编码负担,并且支持多种数据库系统,具有良好的灵活性和扩展性。Hibernate支持1:1、1:n、n:m等多种关联映射关系,可以有效地...

    hibernate框架开发2016版视频 四天学习笔记完整版

    【hibernate框架开发2016版视频 四天学习笔记完整版】 在软件开发领域,特别是Java Web开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作,使开发者可以更专注于业务逻辑而不是...

    struts2 spring hibernate框架技术与项目实战 光盘源码上

    在本资源中,"struts2 spring hibernate框架技术与项目实战 光盘源码 上"提供了这三大框架的实践项目代码,帮助开发者深入理解并掌握它们的集成与应用。 Struts2作为MVC(模型-视图-控制器)框架,主要负责处理HTTP...

    利用Hibernate框架实现学生管理信息系统

    ### 利用Hibernate框架实现学生管理信息系统 #### 引言 在进行J2EE标准的项目开发时,创建和维护数据持久层是关键环节之一,其设计的成功与否往往对整个项目的开发进度和质量有着至关重要的影响。传统的数据库访问...

    hibernate框架基本包

    **hibernate框架基本包** Hibernate 是一个开源的Java库,它为开发人员提供了一种在Java应用程序中持久化对象的框架。这个“hibernate框架基本包”包含了一系列必要的库文件,使得开发者能够轻松地将数据库操作与...

    黑马程序员_hibernate框架开发2016版讲义和笔记资料_day1_day2_day3_day4

    《Hibernate框架深度解析——基于黑马程序员2016版教学资料》 Hibernate,作为一个强大的对象关系映射(ORM)框架,极大地简化了Java开发者在数据库操作中的工作。它通过提供数据持久化的对象模型,使得开发者可以...

    hibernate框架原理面试题

    hibernate框架

    Hibernate框架核心jar包

    Hibernate框架是Java领域中一款非常流行的对象关系映射(ORM)工具,它允许开发者使用面向对象的方式来操作数据库,极大地简化了后端数据处理的过程。"Hibernate框架核心jar包"是进行Hibernate开发的基础,包含了...

    Hibernate 框架

    Hibernate框架是Java开发中的一款非常重要的对象关系映射(ORM)工具,它简化了数据库与Java应用程序之间的数据交互。在本教程中,我们将深入探讨Hibernate的核心概念、主要功能以及如何在实际项目中应用。 首先,...

    hibernate框架5.2夹包

    Hibernate框架是Java领域中一款非常重要的对象关系映射(ORM)工具,它允许开发者使用面向对象的方式处理数据库操作,极大地简化了数据访问层的代码。这里我们关注的是Hibernate框架的5.2版本的库文件。 在给定的...

    hibernate框架需要的jar

    Hibernate框架是Java领域中一款非常流行的对象关系映射(ORM)工具,它允许开发者使用面向对象的方式处理数据库操作,极大地简化了数据访问层的代码。在进行Hibernate开发时,需要依赖一系列的JAR文件,这些文件包含...

    Struts+Spring+Hibernate框架及应用开发源码

    本书分为6大部分,共33章,介绍了Struts1框架、Hibernate框架、Spring框架和Struts2框架的开发环境配置、框架技术基础,Struts1框架和Spring框架的整合,Struts1框架和Hibernate框架的整合,Struts1框架、Hibernate...

    Hibernate框架的学习PPT课件

    **Hibernate框架概述** Hibernate是一个开放源代码的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。在传统的Java编程中,我们需要手动编写SQL语句来操作数据库,而Hibernate通过提供一种...

    hibernate框架jar包

    本压缩包“hibernate框架jar包”包含了使用Hibernate框架进行开发时所需的所有关键库文件。 在Java项目中,引入这些jar包是使用Hibernate的第一步。以下是一些主要的jar文件及其功能: 1. **hibernate-core.jar**...

    Hibernate框架技术课件ppt

    Hibernate框架技术是Java开发中的一个核心组件,它是一个对象关系映射(ORM)工具,用于在Java应用程序中处理数据库交互。本课件旨在全面讲解Hibernate框架的原理、配置与使用方法,帮助学习者轻松掌握这一强大的...

    hibernate框架实例

    **hibernate框架实例** Hibernate 是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库事务,而无需关注底层的SQL语句。本实例旨在帮助初学者更好...

    Hibernate框架全部jar包

    这个压缩包包含了一系列与Hibernate框架相关的jar包,使得开发者可以直接导入到项目中使用。值得注意的是,这里的数据库jar包是针对Oracle数据库的,意味着这些库已包含了与Oracle数据库交互所需的组件。 1. **...

    hibernate框架jar包整合

    **hibernate框架jar包整合** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层的SQL语句。整合Hibernate框架到项目中,通常需要配置一...

    Hibernate框架需要的所有jar包

    这个压缩包包含了学习和使用Hibernate框架所需要的所有jar包,这些库是Hibernate运行的核心组成部分,同时也可能包含了其他依赖的第三方库。 首先,`hibernate.jar`是Hibernate框架的主要库,它包含了Hibernate的...

Global site tag (gtag.js) - Google Analytics