`

Hibernate注释法的简单配置与使用

阅读更多

Hibernate是一种ORM(Object/Relation Mapping),对象关系映射,Hibernate的配置依赖于外部 XML 文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载。每一张数据库表都需要一个*.hbm.xml映射一个持久化类。但是在新版本的Hibernate中可以利用hibernate annotation,利用注释发简化这种映射,省掉了xml文件,这跟JPA就很类似了。

以前的Hibernate配置方法:http://hi.baidu.com/amauri3389/blog/item/64a10f3804c8bdfd3b87ce2f.html

同样利用MyEclipse,Hibernate的注释方配置和使用方法如下:

新建工程:

1,工具栏File->new->Java Project->工程命名,我这里是HibernateTest,其他都默认就好了->Finish    

 

2, 在左侧Package Explorer里面,工程名上鼠标右键->MyEclipse->Add Hibernate Capabilities->弹出的对话框设置都用默认就好了,点击next->再next->到了设置连接的数据库参数的页面(如下图)

填写完相关信息后,下一个页面时选择把自动生成的HibernateSessionFactory.java文件放在哪个包里,这里新建一个com包就好了,点击Finish就设置好了。

然后就会发现已经自动生成了hibernate.cfg.xml,同时com包里也已经有HibernateSessionFactory.java了。新建数据库,里面只有一张表test_account,有三个属性列account varchar(50), password varchar(50), balance float。其中主键是account。包结构如下图:

持久化类Test_Account.java代码如下:

 

package com.domain;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="test_account")
public class Test_Account {
	
	@Id
	private String account;
	private String password;
	private double balance;
	public String getAccount() {
		return account;
	}
	public void setAccount(String account) {
		this.account = account;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public double getBalance() {
		return balance;
	}
	public void setBalance(double balance) {
		this.balance = balance;
	}
}

 

 其实这里的Hibernate注释跟JPA的几乎完全一样。

接下来就是在hibernate.cgf.xml文件里添加该持久化类的映射声明,具体就是在<session-factory></session-factory>里加入<mapping class="com.domain.Test_Account"/>。我这里加完之后hibernate.cgf.xml代码如下:

 

<?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">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>
    <session-factory>
        <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
        <property name="connection.url">jdbc:sqlserver://localhost:1433;DatabaseName=TestDB</property>
        <property name="connection.username">sa</property>
        <property name="connection.password">1234</property>
        <property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
        <property name="myeclipse.connection.profile">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
    
    	<mapping class="com.domain.Test_Account"/>
    </session-factory>
</hibernate-configuration>

 
然后就是增删改查,test包里面的Maintest.java代码如下:

 

 

package test;

import java.util.ArrayList; 

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration; 
import com.domain.Test_Account;

public class Maintest {

	public static void main(String[] args) {
		  new Maintest().execut();
		   System.out.println("success");
	}

	private void execut()
    {
	SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
	Session session =sessionFactory.openSession(); 
    session.beginTransaction();
    
    Test_Account insertaccout=new Test_Account();
    insertaccout.setAccount("78512000");
    insertaccout.setPassword("1234656");
    insertaccout.setBalance(222.31);
    session.beginTransaction();
    
    Test_Account ta2=(Test_Account)session.get(Test_Account.class, "110110");
    session.delete(ta2);//删除记录
     
    session.save(insertaccout);//插入记录
    
    Test_Account med=(Test_Account)session.load(Test_Account.class, "1456");
    med.setPassword("tiananmen4");
    session.update(med);//更新记录
    
    ArrayList<Object> result=(ArrayList)session.createQuery("from Test_Account").list();//查询所有记录
    for(int i=0;i<result.size();i++)
    {
       Test_Account temp=(Test_Account)result.get(i);
       System.out.println(""+temp.getAccount()+"   "+temp.getPassword()+"    "+temp.getBalance());
    }
     
    session.getTransaction().commit();
    session.close();
    }

}

 

这里要注意的是session的获得方法,跟以前传统的方式不同,还有就是获得持久化对象的方式,使用load和get其实都可以。其他都跟传统方式利用HQL操作是一样的。

  • 大小: 34.3 KB
  • 大小: 8 KB
分享到:
评论

相关推荐

    hibernate注释详解

    hibernate注释详解 内含hibernate各种注释说明

    Hibernate注释深入解析

    本篇文章将深入探讨Hibernate注释的使用。 1. **属性和方法注解** Hibernate允许对类的属性或方法进行注解,以声明它们与数据库表的对应关系。属性注解通常使用`@Column`,它指定了字段在数据库表中的列名、是否...

    hibernate@注解方式配置实体类,调用javadoc接口生成数据库表及字段的注释说明

    hibernate@注解方式配置实体类时,利用javadoc接口生成数据库表及字段的注释说明,支持oracle、sqlserver、db2、mysql数据库。因用到java\lib\tools.jar,需要将该jar放入工程lib下(或者tomcat\lib下、或加入...

    Eclipse中Hibernate简单配置和使用

    Eclipse中Hibernate简单配置和使用 Eclipse中配置和使用Hibernate框架是Java开发中常见的数据库持久化解决方案。本文将通过详细的步骤介绍Eclipse中配置和使用Hibernate框架,并提供一个简单的示例实现。 ...

    Hibernate之配置使用案例hibernate001

    在本案例中,我们将深入探讨Hibernate的配置与使用,以此帮助开发者更好地理解和掌握这一强大的工具。 首先,我们要了解Hibernate的核心配置文件——`hibernate.cfg.xml`。这个文件是Hibernate应用的起点,它包含了...

    hibernate多数据库配置

    在 Hibernate 中配置多数据库,并自由切换,可以使用 Spring 框架来实现。下面是一个简单的配置示例: 首先,创建一个父数据源(parentDataSource),用于配置多个数据源共有的信息: ```xml ...

    JAVA 使用hibernate配置实例

    本教程将详细讲解如何在Java项目中配置和使用Hibernate,包括在普通Java工程和Maven工程中的配置实例。 首先,我们需要了解Hibernate的核心概念。Hibernate是一个开源的ORM框架,它可以将Java类与数据库表进行映射...

    Hibernate-tools解决hbm.xml中文注释乱码和生成实体类注释

    3. **配置与使用** 要使用`Hibernate-tools`,首先需要将其加入到项目的类路径中。然后,创建一个配置文件(如`hibernatetool.properties`),设置数据库连接信息、实体类输出目录、模板文件等。接着,通过命令行...

    Hibernate 配置各种数据库

    在 Hibernate 的配置文件中,我们可以使用 properties 文件或 XML 文件来配置数据库连接。下面是一个使用 properties 文件配置 Hibernate 连接数据库的示例: hibernate.connection.driver_class = org.hsqldb.jdbc...

    hibernate注释源程序

    本篇文章将深入探讨Hibernate中的注释(Annotation)使用以及级联操作,并通过一个简单的源程序实例进行解析。 ### Hibernate 注释 在Hibernate 3.x版本之后,注释成为了一种主流的元数据定义方式,替代了传统的...

    sping hibernate Annotation(注释配置) demo(例子)

    在这个 demo 中,我们可能会看到一个简单的数据库脚本,用于创建与 Hibernate 实体类相对应的表。数据库脚本通常包括创建表的 SQL 语句,以及可能的索引和约束定义。 在整合 Spring 和 Hibernate 时,我们需要配置 ...

    Hibernate程序的配置文件

    本知识点主要聚焦于Hibernate的配置文件,它是使用Hibernate进行数据库交互的基础。 首先,我们需要理解Hibernate的核心配置文件——`hibernate.cfg.xml`。这个文件是Hibernate与数据库建立连接的桥梁,它包含了...

    hibernate中的注释的几种配置方式

    通过上述讨论,我们可以看到,无论是实体类的字段映射,还是SessionFactory的配置,或是关联关系的定义,注释都扮演着至关重要的角色,使得开发人员能够以更加简洁、直观的方式完成Hibernate的集成与使用。

    Hibernate3.x简单配置示例

    理解并熟练配置Hibernate的基本要素,如配置文件、实体类映射、Session和SessionFactory的使用,是掌握Hibernate的关键。通过实际项目中的简单配置示例,可以更好地理解和应用这些概念。在`hibernate_start`这个...

    Hibernate 注释语法.chm

    Hibernate 注释语法的简单讲解,个人的学习总结笔记

    hibernateJar包及配置文件

    总结,Hibernate作为一个强大的ORM框架,极大地简化了Java开发者与数据库的交互,而其配置文件和jar包是实现这一目标的关键组成部分。理解和掌握Hibernate的配置、映射、工作流程及其优化技巧,对于提升Java应用的...

    Hibernate连接SQLite配置说明和方言代码

    Hibernate连接SQLite配置步骤: 1、添加SQLite库: 1.1、将两个jar包:com.zy.hibernate.dialect.SQLiteDialect.jar、sqlite-jdbc-3.7.2.jar拷贝到“\WEB-INF\lib”文件夹下; 2、配置hibernate: 2.1、将...

    Hibernate 参数配置详解

    ### Hibernate 参数配置详解 #### 一、概述 Hibernate 是一款流行的 Java 持久层框架,它通过提供一套丰富的 API 和配置选项来简化数据库访问。本文档将深入探讨 Hibernate 的核心配置参数及其功能,帮助开发者更...

    spring和hibernate整合的优化配置

    ### Spring与Hibernate整合的优化配置 #### 一、Spring与Hibernate简介 - **Spring框架**:作为Java开发领域中的一款主流轻量级框架,Spring主要提供了依赖注入(DI)和面向切面编程(AOP)的功能,使得Java开发...

Global site tag (gtag.js) - Google Analytics