`

对Hibernate配置文件的加载

    博客分类:
  • SSH
阅读更多
package com.hz.ssh;

import java.util.List;

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

public class Test {
  static String page = "1";
  static String pageSize = "5";
	public static void main(String[] args) {
		//只进行Hibernate测试
//		Configuration conf = new Configuration().configure();
//		SessionFactory sf = conf.buildSessionFactory();
//	    Session s = sf.openSession();
//	    
//	    s.beginTransaction();
//	    Student stu = new Student();
//	    stu.setStu_id(8);
//	    stu.setStu_name("111");
//	    stu.setStu_sex("boy");
	    //s.save(stu);  增
	    //s.delete(stu);  删除
	   //s.update(stu);  改
	    //查询

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
		"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
		
		<hibernate-mapping package="com.hz.ssh">
		  
		  <class name="Student" dynamic-insert="true" table="STUDENT">
		     <id name="stu_id">
		         <column name="STU_ID"></column>
		     </id>		  
		    
		     <property name="stu_name">
		        <column name="STU_NAME"></column>
		     </property>
		     
		     <property name="stu_sex">
		        <column name="STU_SEX"></column>
		     </property>
		     
		     
		  
		  </class>
		  	  
		</hibernate-mapping>

 

 ApplicationContext ac = new FileSystemXmlApplicationContext("src/applicationContext.xml");
	    StudentDAO sd = (StudentDAO)ac.getBean("studentDAO");
	    int i = sd.queryDataAccount();
	    System.out.println(i);
//        List<Student> list = sd.queryByPage(Integer.parseInt(page),Integer.parseInt(pageSize) );
//        for(Student stu:list){
//        	System.out.println(stu.getStu_id() + stu.getStu_name() + stu.getStu_sex());
//        }
//	    Student stu = new Student();
//	    stu.setStu_id(11);
//	    stu.setStu_name("56987");
//	    stu.setStu_sex("boy");
//	    sd.save(stu);
//	    sd.delete(stu);
//	    stu = sd.queryById2(2);
//
//        	System.out.println(stu.getStu_id() + stu.getStu_name() + stu.getStu_sex());
  
	   
	}
}

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
        
        <hibernate-configuration>
            <session-factory >
        
		        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
		        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:ORCL</property>
		        <property name="connection.username">scott</property>
		        <property name="connection.password">tiger</property>
		        <property name="dialect">org.hibernate.dialect.OracleDialect</property>
        
                <!-- 关联映射文件 -->
 
                <mapping resource="com/hz/ssh/student.hbm.xml"/> 
            
            </session-factory>       
         </hibernate-configuration>  

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation">
			<value>classpath:hibernate.cfg.xml</value>  <!-- 连接的Hibernate的名字 -->
		</property>
	</bean>
	
	<bean id="studentDAO" class="com.hz.ssh.StudentDAO">
		<property name="sessionFactory">
			<ref bean="sessionFactory"/>
		</property>
	</bean>
	
</beans>

 

package com.hz.ssh;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Order;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class StudentDAO extends HibernateDaoSupport implements IStudentDAO {
	
	public static int account = 0;
    public static int lastpage = 0;
	
	//入库操作
	public void save(Student stu){
	   	Configuration conf = new Configuration().configure();
	   	SessionFactory sf = conf.buildSessionFactory();
	   	Session s = sf.openSession();
	   	s.beginTransaction();
	   	s.save(stu);
	   	s.getTransaction().commit();
	   	s.close();
	}
	
	//删除操作
	public void delete(Student stu){
	   	Configuration conf = new Configuration().configure();
	   	SessionFactory sf = conf.buildSessionFactory();
	   	Session s = sf.openSession();
	   	s.beginTransaction();
	   	s.delete(stu);
	   	s.getTransaction().commit();
	   	s.close();
	}
	
	//更新操作
	public void update(Student stu){
		Configuration conf = new Configuration().configure();
	   	SessionFactory sf = conf.buildSessionFactory();
	   	Session s = sf.openSession();
	   	s.beginTransaction();
	   	s.update(stu);
	   	s.getTransaction().commit();
	   	s.close();
	}
	
	//查询最后一一页数据!
	public int queryDataAccount(){
		List<Student> list = null;
	  	Configuration conf = new Configuration().configure();
	   	SessionFactory sf = conf.buildSessionFactory();
	   	Session s = sf.openSession();
	   	s.beginTransaction();
	   	String hql = "from Student order by stu_id";   //查询语句  HQL
	   	list = s.createQuery(hql).list();
	   	account = list.size();
	   	lastpage= (int)Math.ceil((double)account/5);
	   	System.out.println(lastpage);
		return lastpage;
	}
	
	//根据ID查询
	public List<Student> queryById(int id){
		List<Student> list = null;
		Session s = this.getHibernateTemplate().getSessionFactory().openSession();
		String hql = "from Student where stu_id = :stu_id";
		Query query = s.createQuery(hql);
		list = query.setInteger("stu_id", id).list();
		return list;
	}	
	
	//查询两个数之间的数据
	public List<Student> queryByTT(int id1, int id2){
		List<Student> list = null ;
		Session s = this.getHibernateTemplate().getSessionFactory().openSession();
		String hql = "from Student as s where stu_id between :stu_id1 and :stu_id2 ";
		Query query = s.createQuery(hql);
		query.setInteger("stu_id1", id1);
		query.setInteger("stu_id2", id2);
		list = query.list();
		return list;
	}
	
	//数据分页
	public List<Student> queryByPage(int page,int pagesize){
		List<Student> list = null ;
		Session s = this.getHibernateTemplate().getSessionFactory().openSession();
		list = s.createCriteria(Student.class).setFirstResult(pagesize*(page-1))
		       .setMaxResults(pagesize).addOrder(Order.asc("stu_id")).list();
		
		return list;
	}
}

 

分享到:
评论

相关推荐

    Hibernate配置文件加载后修改配置信息

    ### Hibernate配置文件加载后修改配置信息 在Java开发过程中,特别是在使用ORM框架如Hibernate时,开发者经常需要对配置文件中的数据库连接信息进行动态修改或加密处理。本文将详细介绍如何利用反射机制来修改已经...

    hibernate配置文件详解

    Hibernate 配置文件详解 Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,用于简化 Java 应用程序中的数据库交互。 Hibernate 的配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。下面...

    Hibernate配置文件

    **Hibernate配置文件详解** Hibernate,一个强大的Java持久化框架,为开发者提供了对象关系映射(ORM)服务,简化了数据库操作。在Hibernate中,`hibernate.cfg.xml`是核心配置文件,它定义了数据库连接、实体管理...

    Hibernate配置文件在单元测试中的应用

    本篇文章将详细探讨Hibernate配置文件在单元测试中的应用。 首先,我们需要理解什么是单元测试。单元测试是针对程序模块的最小可测试单元进行验证,例如一个方法或一个类。它的目的是确保代码的每个部分都能按照...

    根据数据库表生成实体、hibernate配置文件和实体映射文件

    本教程将深入讲解如何根据数据库表自动生成实体类、Hibernate配置文件以及实体映射文件。 首先,我们需要了解Hibernate的基本概念。Hibernate提供了一个在Java应用中使用的持久化模型,它允许开发者用面向对象的...

    Hibernate 配置文件.ppt

    每个Hibernate配置文件都会对应一个`Configuration`对象,该对象负责加载并解析配置信息,为应用提供数据库连接和相关设置。 配置文件中,JDBC连接属性是非常重要的部分。例如: - `connection.url`:指定数据库的...

    hibernate完整配置文件

    Hibernate是Java领域中一款广泛应用的关系对象映射框架,它允许开发者用面向对象...这个“hibernate完整配置文件”压缩包应该包含了所有必要的配置和示例,是初学者和有经验的开发者深入理解Hibernate配置的宝贵资源。

    hibernate利用配置文件反向生成数据库所有配置文件及方法

    1. **Hibernate配置文件**(hibernate.cfg.xml):这个文件包含了连接数据库所需的基本信息,如数据库URL、用户名、密码等。 2. **实体关系数据库映射文件**(.hbm.xml):这些文件定义了Java类与数据库表之间的映射...

    Hibernate4 jar包及配置文件

    在这个压缩包中,我们通常会找到一系列的Hibernate核心库和其他依赖库的jar文件,以及必要的配置文件,这些都对理解并有效使用Hibernate4至关重要。 首先,我们要了解Hibernate的核心概念。Hibernate是一个开源的...

    Hibernate 延迟加载剖析与代理模式应用

    总的来说,Hibernate的延迟加载是通过在映射文件中配置延迟加载策略,以及利用Java动态代理技术,实现对集合属性的按需加载。它降低了系统的内存压力,提高了数据库操作的效率,是Hibernate优化性能的重要手段之一。...

    hibernate 延迟加载深入剖析

    本文将对Hibernate中的延迟加载技术进行深入剖析,帮助读者更好地理解和运用这项技术。 #### 二、基本概念 ##### 2.1 什么是延迟加载? 延迟加载是指在访问关联数据或集合数据时,只有在真正需要使用这些数据时才...

    hibernate配置文件以及类映射文件常用写法1

    《Hibernate配置文件与类映射详解》 Hibernate作为一款强大的对象关系映射(ORM)框架,简化了Java应用与数据库之间的交互。本文将深入探讨Hibernate的配置文件和类映射文件的常用写法,帮助开发者更好地理解和应用...

    Hibernate的延迟加载

    在Hibernate中启用实体对象的延迟加载,需在实体的映射配置文件中设置`lazy="true"`属性。例如: ```xml &lt;hibernate-mapping&gt; ... &lt;/hibernate-mapping&gt; ``` 当执行`session.load()`方法时,如`User user = ...

    Hibernate延迟加载以及利用Spring

    #### 二、Hibernate配置中的延迟加载实现 在Hibernate的配置文件或映射文件中,可以设置关联对象的加载策略为延迟加载。比如在给定的部分内容中,`...

    hibernate配置文件中所有jar包(包括数据库连接等)

    hibernate环境配置需要加载的各类包全集。 hibernate-3.1/ hibernate-commons-annotations-3.2.0.Final/ hibernate-core-5.3.0.Final-sources/ hibernate-entitymanager-5.3.0.Final/ hibernate-jpa-2.0-api-1.0.1....

    JAVA 使用hibernate配置实例

    4. 初始化SessionFactory:在代码中通过Configuration类加载配置文件,然后创建SessionFactory对象。 5. 使用Session:通过SessionFactory获取Session对象,进行数据操作。 对于Maven工程,配置过程有所不同: 1....

    hibernate延迟加载解决

    要在Hibernate中启用实体对象的延迟加载,需要在映射文件中为相应的类添加`lazy="true"`属性,例如: ```xml ... ``` **工作原理:** 当执行如下代码时: ```java User user = (User) session.load(User....

    Hibernate通过配置文件自动生成表

    本篇将详细讲解如何通过Hibernate配置文件自动生成数据库表,以及相关的知识点。 **一、Hibernate概述** Hibernate是Java平台上的一个开源框架,它的主要功能是提供一种映射机制,将Java类与数据库表进行对应,...

    hibernate的配置文件

    《Hibernate配置文件详解与必备库解析》 在Java开发领域,Hibernate作为一个强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,要充分利用Hibernate的功能,理解其配置文件和依赖库至关重要。本文将...

Global site tag (gtag.js) - Google Analytics