`
baiychen
  • 浏览: 681 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

一个Hibernate实例(单表操作)

    博客分类:
  • java
阅读更多

看代码:

1.先看数据库

create database hibernate
go
use hibernate
go 
create table person
(
id int identity primary key,
name varchar(20),
password varchar(10),
sex varchar(5),	
email varchar(30)
)
go

 2.实体类

 

package entity;

public class Person {
	private int id;
	private String name;
	private String password;
	private String sex;
	private String email;

	@Override
	public String toString() {
		return this.id + "   " + this.name + "    " + this.password + "  "
				+ this.sex + "   " + this.email;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}
}

 

3.实体类映射

<?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>
    <class name="entity.Person" table="person"> 
        <id name="id" type="int"> 
            <column name="id" length="30" /> 
            <generator class="identity" /> 
        </id> 
        <property name="name" type="string"> 
            <column name="name" length="20" not-null="true" /> 
        </property> 
        <property name="password" type="string"> 
            <column name="password" length="20" not-null="true" /> 
        </property> 
        <property name="sex" type="string"> 
            <column name="sex" length="2" /> 
        </property> 
        <property name="email" type="string"> 
            <column name="email" length="30" /> 
        </property> 
    </class> 
</hibernate-mapping>

 

4.数据库连接配置文件

<?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="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
    <property name="hibernate.connection.url">jdbc:sqlserver://localhost\MSSQLSERVER:1433;databaseName=hibernate</property>
    <property name="hibernate.connection.username">sa</property>
    <property name="hibernate.connection.password">123</property>
    <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>

    <!-- <property name="hibernate.show_sql">true</property> 是否显示sql语句-->
    <!-- <property name="hibernate.hbm2ddl.auto">update</property> -->
    
    
    <mapping resource="entity/Person.hbm.xml"/>
    <!-- <mapping resource="onetomany/Teacher.hbm.xml"/>  -->
    <!-- <mapping resource="onetomany/StuInfo.hbm.xml"/>  -->
  </session-factory>
</hibernate-configuration>

 

5、操作类

package entity;

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

/**
 * Hibernate 实现增、删、查、改
 * 
 * @author 陈杰
 */
// 具体操作hibernate的操作
// 增加、删除、修改,按ID查询,模糊查询、全部查询的操作
public class PersonOperate {
	// 在hibernate中,所有的操作都是通过Session完成

	private Session session = null;

	// 在构造方法中完成实例化session对象

	public PersonOperate() {
		// 找到hibernate配置
		Configuration config = new Configuration().configure();
		// 从配置中取得SessionFactory
		SessionFactory factory = config.buildSessionFactory();
		// 从SessionFactory中取出一个session
		this.session = factory.openSession();
	}

	// 所有的操作都是通过session进行的
	// 向数据库中增加数据

	public void insert(Person p) {
		// 开始事务
		Transaction tran = this.session.beginTransaction();
		// 执行程序
		this.session.save(p);
		// 提交事务
		tran.commit();
	}

	public void delete(Person p) {
		// 开始事务
		Transaction tran = this.session.beginTransaction();

		Person per = (Person) this.session.get(Person.class, p.getId());
		// 执行程序
		this.session.delete(per);
		// 提交事务
		tran.commit();
	}

	public void update(Person p) {
		// 开始事务
		Transaction tran = this.session.beginTransaction();
		// 执行程序
		this.session.update(p);
		// 提交事务
		tran.commit();
	}

	public void find(Person p) {
		// 开始事务
		Transaction tran = this.session.beginTransaction();
		// 执行程序
		Person per = (Person) this.session.get(Person.class, p.getId());
		// 提交事务
		tran.commit();
		// 打印结果
		System.out.println(per);
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 生成POJO类实例化对象
		Person p = new Person();
		p.setId(2);
		p.setName("用户名");
		p.setPassword("53");
		p.setSex("男");
		p.setEmail("8888888@qq.com");
		// 实例化PersonOperate对象
		PersonOperate po = new PersonOperate();
		// po.insert(p);
		po.find(p);
	}
}

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    一个Hibernate的简单实例

    总结来说,"一个Hibernate的简单实例"是Java开发者学习Hibernate框架的起点,它涵盖了从配置文件设置到实体类设计,再到数据库操作的基本步骤。通过这个实例,你可以深入理解Hibernate如何将Java对象和数据库表进行...

    hibernate单表基本操作实例

    【标题】"Hibernate单表基本操作实例"是一个关于如何使用Hibernate框架进行数据库操作的实践教程。Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者以面向对象的方式处理数据库,而无需直接编写SQL...

    hibernate实例连oracle

    标题“hibernate实例连oracle”表明我们正在讨论如何使用Hibernate框架来连接并操作Oracle数据库。Hibernate是一个流行的Java对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来处理数据库交互,而无需...

    Hibernate实例 oracel数据库

    描述中提到"这是一个Hibernate实例,使用oracel数据库,并用junit和自定义类分别进行了测试",这暗示我们将深入学习如何配置Hibernate以连接Oracle数据库,以及如何利用JUnit进行单元测试和自定义测试类以确保代码的...

    eclipse项目Hibernate实例

    这个"eclipse项目Hibernate实例"提供了一个实践平台,让你能够亲手操作,加深对Hibernate的理解,并提升Java数据库编程技能。通过学习和研究这个项目,你将能够熟练地在Eclipse环境下运用Hibernate进行开发,为实际...

    SpringMVC+hibernate实例

    在"SpringMVC+Hibernate实例"中,我们可以看到这两个框架如何协同工作。通常,SpringMVC会通过Controller接收HTTP请求,然后调用Service层(这里可能使用了Hibernate进行数据库操作)处理业务逻辑。Service层利用...

    hibernate一对一实例

    在数据库表设计中,这通常通过主键外键的方式来实现,其中一个表的主键作为另一个表的外键。 二、配置一对一关联 在Hibernate中,一对一关联可以通过以下几种方式配置: 1. **注解方式**:使用`@OneToOne`注解,...

    spring整合hibernate实例

    这篇名为"spring整合hibernate实例"的内容,显然是关于如何将这两个框架协同工作,构建一个高效、灵活的Java应用的教程。在整合过程中,我们将探讨以下几个关键知识点: 1. **Spring的ApplicationContext**: 这是...

    Hibernate的多对一和一对多操作实例

    本文将深入探讨Hibernate框架下“多对一”和“一对多”的关联关系,并通过一个具体示例来阐述其操作流程与实现细节。 ### Hibernate中的“多对一”和“一对多” 在数据库设计中,“多对一”(Many-to-One)和“一...

    hibernate3实例包

    标题提及的是“hibernate3实例包”,这表明我们将讨论的是关于Hibernate 3的一个实例集合,Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作转换为对对象的操作,从而简化了Java应用...

    hibernate的第一个例子

    **标题解析:**“hibernate的第一个例子”表明这是一个关于Hibernate框架的基础教程,主要目标是展示如何使用Hibernate进行数据持久化操作。 **描述分析:**描述提到这是一个超级简单的例子,包含一个持久化对象...

    hibernate入门--第一个实例

    在这个“hibernate入门--第一个实例”中,我们将了解如何设置Hibernate环境,创建实体类,配置映射文件,以及执行基本的CRUD(创建、读取、更新和删除)操作。 1. **环境搭建** - **下载与安装**: 首先,你需要从...

    Hibernate5实例程序

    《Hibernate5实例程序》是一份专为学习Hibernate5框架所编写的代码实例集。Hibernate作为Java领域中的一款主流对象关系映射(ORM)工具,极大地简化了数据库操作,使得开发者能够更加专注于业务逻辑,而非底层的SQL...

    hibernate入门实例操作步骤

    **hibernate入门实例操作步骤** Hibernate是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用Java对象的方式处理数据库事务。本篇将详细介绍Hibernate入门实例的操作步骤,...

    Hibernate初之单表映射学习例子

    【标题解析】 "Hibernate初之单表映射学习例子" 这个标题表明我们将探讨的是...通过这个“Hibernate初之单表映射学习例子”,初学者可以掌握Hibernate的基本操作,为进一步深入学习和使用Hibernate打下坚实的基础。

    hibernate一对多实例

    在这个实例中,我们将探讨如何配置和使用Hibernate来管理一个实体类与多个实体类之间的关系,这种关系在数据库中通常对应于一个表拥有多个记录的情况。 描述中的链接指向了一篇由“fangguanhong”在iteye博客上发表...

    hibernate,hibernate实例源码

    1. 实体(Entity):在Hibernate中,实体通常对应于数据库中的表,是一个具有唯一标识的对象。它们通过@Entity注解标记,并通过@Id注解指定主键字段。 2. 映射(Mapping):Hibernate使用XML文件(hbm.xml)或注解...

    flex+hibernate 实例

    而Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在不直接操作SQL的情况下与数据库进行交互,简化了数据持久化的复杂性。 在这个"Flex+Hibernate实例"中,ADC(ActionScript Data Services)可能...

Global site tag (gtag.js) - Google Analytics