看代码:
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的简单实例"是Java开发者学习Hibernate框架的起点,它涵盖了从配置文件设置到实体类设计,再到数据库操作的基本步骤。通过这个实例,你可以深入理解Hibernate如何将Java对象和数据库表进行...
【标题】"Hibernate单表基本操作实例"是一个关于如何使用Hibernate框架进行数据库操作的实践教程。Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者以面向对象的方式处理数据库,而无需直接编写SQL...
标题“hibernate实例连oracle”表明我们正在讨论如何使用Hibernate框架来连接并操作Oracle数据库。Hibernate是一个流行的Java对象关系映射(ORM)工具,它允许开发者使用面向对象的编程方式来处理数据库交互,而无需...
描述中提到"这是一个Hibernate实例,使用oracel数据库,并用junit和自定义类分别进行了测试",这暗示我们将深入学习如何配置Hibernate以连接Oracle数据库,以及如何利用JUnit进行单元测试和自定义测试类以确保代码的...
这个"eclipse项目Hibernate实例"提供了一个实践平台,让你能够亲手操作,加深对Hibernate的理解,并提升Java数据库编程技能。通过学习和研究这个项目,你将能够熟练地在Eclipse环境下运用Hibernate进行开发,为实际...
在"SpringMVC+Hibernate实例"中,我们可以看到这两个框架如何协同工作。通常,SpringMVC会通过Controller接收HTTP请求,然后调用Service层(这里可能使用了Hibernate进行数据库操作)处理业务逻辑。Service层利用...
在数据库表设计中,这通常通过主键外键的方式来实现,其中一个表的主键作为另一个表的外键。 二、配置一对一关联 在Hibernate中,一对一关联可以通过以下几种方式配置: 1. **注解方式**:使用`@OneToOne`注解,...
这篇名为"spring整合hibernate实例"的内容,显然是关于如何将这两个框架协同工作,构建一个高效、灵活的Java应用的教程。在整合过程中,我们将探讨以下几个关键知识点: 1. **Spring的ApplicationContext**: 这是...
本文将深入探讨Hibernate框架下“多对一”和“一对多”的关联关系,并通过一个具体示例来阐述其操作流程与实现细节。 ### Hibernate中的“多对一”和“一对多” 在数据库设计中,“多对一”(Many-to-One)和“一...
标题提及的是“hibernate3实例包”,这表明我们将讨论的是关于Hibernate 3的一个实例集合,Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者将数据库操作转换为对对象的操作,从而简化了Java应用...
**标题解析:**“hibernate的第一个例子”表明这是一个关于Hibernate框架的基础教程,主要目标是展示如何使用Hibernate进行数据持久化操作。 **描述分析:**描述提到这是一个超级简单的例子,包含一个持久化对象...
在这个“hibernate入门--第一个实例”中,我们将了解如何设置Hibernate环境,创建实体类,配置映射文件,以及执行基本的CRUD(创建、读取、更新和删除)操作。 1. **环境搭建** - **下载与安装**: 首先,你需要从...
《Hibernate5实例程序》是一份专为学习Hibernate5框架所编写的代码实例集。Hibernate作为Java领域中的一款主流对象关系映射(ORM)工具,极大地简化了数据库操作,使得开发者能够更加专注于业务逻辑,而非底层的SQL...
**hibernate入门实例操作步骤** Hibernate是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用Java对象的方式处理数据库事务。本篇将详细介绍Hibernate入门实例的操作步骤,...
【标题解析】 "Hibernate初之单表映射学习例子" 这个标题表明我们将探讨的是...通过这个“Hibernate初之单表映射学习例子”,初学者可以掌握Hibernate的基本操作,为进一步深入学习和使用Hibernate打下坚实的基础。
在这个实例中,我们将探讨如何配置和使用Hibernate来管理一个实体类与多个实体类之间的关系,这种关系在数据库中通常对应于一个表拥有多个记录的情况。 描述中的链接指向了一篇由“fangguanhong”在iteye博客上发表...
1. 实体(Entity):在Hibernate中,实体通常对应于数据库中的表,是一个具有唯一标识的对象。它们通过@Entity注解标记,并通过@Id注解指定主键字段。 2. 映射(Mapping):Hibernate使用XML文件(hbm.xml)或注解...
而Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在不直接操作SQL的情况下与数据库进行交互,简化了数据持久化的复杂性。 在这个"Flex+Hibernate实例"中,ADC(ActionScript Data Services)可能...