简单的hibernate数据库插入例子

原创 2004年06月07日 09:53:00

第五步:建立你的第一个可持久化的类。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 Hibernate 让普通的Java 对象(Plain Old Java Objects ,就是POJOs,有时候也称作Plain

Ordinary Java Objects)变成持久化类。一个POJO 很像JavaBean,属性通过getter setter

方法访问,对外隐藏了内部实现的细节。

package net.sf.hibernate.examples.quickstart;

public class Cat {

private String id;

private String name;

private char sex;

private float weight;

public Cat() {

}

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 char getSex() {

return sex;

}

public void setSex(char sex) {

this.sex = sex;

}

public float getWeight() {

return weight;

}

public void setWeight(float weight) {

this.weight = weight;

}

}

第六步:映射Cat

Cat.hbm.xml 映射文件包含了对象/关系映射所需的元数据。

元数据包含了持久化类的声明和把它与其属性映射到数据库表的信息(属性作为值或者是指向

其他实体的关联)。

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping

PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>

       <class name="net.sf.hibernate.examples.quickstart.Cat" table="CAT">

              <id name="id" type="string" unsaved-value="null" >

                     <column name="CAT_ID" sql-type="char(32)"/>

                     <generator class="uuid.hex"/>

              </id>

              <property name="name">

              <column name="NAME" sql-type="varchar(16)"/>

              </property>

              <property name="sex"/>

              <property name="weight"/>

       </class>

</hibernate-mapping>

每个持久化类都需要一个标识属性(实际上,只是哪些代表一手对象的类,而不是代表值对象

的类,后者会被映射称为一手对象中的一个组件)。这个属性用来区分持久化对象:如果

catA.getId().equals(catB.getId())结果是true 的话,两只猫就是相同的。这个概念称为

数据库标识Hiernate 附带了几种不同的标识符生成器,用于不同的场合(包括数据库本地的

顺序(sequence)生成器和hi/lo 高低位标识模式)。我们在这里使用UUID 生成器,并指定CAT

表的CAT_ID 字段(作为表的主键)存放生成的标识值

第七步:在数据库中建立cat表:

  运行下面的SQL:

 create table CAT(cat_id character(32) not null, name varchar(32), weight real,sex character(1),constraint pk_CAT primary key (cat_id));

第八步:编写测试页面:

<%@ page import="net.sf.hibernate.*"%>

<%@ page import="net.sf.hibernate.cfg.*"%>

<%@ page import="net.sf.hibernate.examples.quickstart.*"%>

<%

SessionFactory sessionFactory =new Configuration().configure().buildSessionFactory();

Session sess = sessionFactory.openSession();

Transaction tx= sess.beginTransaction();

Cat princess = new Cat();

princess.setName("Princess");

princess.setSex('F');

princess.setWeight(7.4f);

sess.save(princess);

tx.commit();

HibernateUtil.closeSession();

out.println("Cat set OK!");

%>

访问一下这个页面看看吧,在看看你的数据库是不是多了一条数据。

现在略微解释一下这段代码:

1SessionFactory 负责一个数据库,也只对应一个XML 配置文件(hibernate.cfg.xml)。

2Session 不是线程安全的,代表与数据库之间的一次操作。Session 通过SessionFactory

开,在所有的工作完成后,需要关闭:HibernateUtil.closeSession();

3、在Session 中,每个数据库操作都是在一个事务(transaction)中进行的,这样就可以隔离开不同的操作(甚至包括只读操作)。我们使用Hibernate Transaction API 来从底层的事务策略中(本例中是JDBC 事务)脱身。这样,如果需要把我们的程序部署到一个由容器管理事务的环境中去(使用JTA),我们就不需要更改源代码。请注意,我们上面的例子没有处理任何异常。

好了,访问以下看看吧。http://localhost/cat/cat.jsp

第一个简单的hibernate小例子

一直在用mybatis.因为要写很多表的联合查询语句。 听很多人说起hibernate。说是封装的如何好之类。 于是想学习一下。 网上搜的例子在我这各种报错:log4j的,Configuring eh...
  • sunwei3301
  • sunwei3301
  • 2015年06月24日 16:54
  • 1027

Hibernate 最简单例子

Hibernate 最简单例子郭 强 guoqiang-vip@hotmail.com一 开发环境Windows XP Pack 2MyEclipse 5.5.1 GAjdk1.5.0_07Tomca...
  • guoqiang1983
  • guoqiang1983
  • 2007年06月16日 11:49
  • 942

菜鸟学习Hibernate——简单的一个例子

一、Hibernate开发。 上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类。 为了能够使用Hibernate快速上手,我们先讲解一个简单的Hibernate应用实例hiberna...
  • gwblue
  • gwblue
  • 2014年04月18日 14:56
  • 9328

hibernate插入数据库出现中文乱码问题

最近使用hibernate插入数据库时出现中文乱码,鄙人按如下步骤检查了一下编码格式 1、打开数据库视图操作界面,查看数据库中表的编码格式为UTF-8。 2、项目的编码格式:右键点击项目名称—pr...
  • heng_ID
  • heng_ID
  • 2015年12月29日 11:33
  • 4102

简单的hibernate数据库插入例子

本文出自:http://blog.csdn.net/solarspot/archive/2004/06/16/21600.aspx刚刚开始学习,希望和大家一起进步吧。请大家不要笑我。这是一个最简单的例...
  • zwhfyy
  • zwhfyy
  • 2007年05月23日 15:29
  • 1123

简单的hibernate数据库插入例子(1)

 简单的hibernate数据库插入例子刚刚开始学习,希望和大家一起进步吧。请大家不要笑我。这是一个最简单的例子,该例子基本上是按照hibernate reference来做的。做这个例子我选用的应用...
  • solarspot
  • solarspot
  • 2004年06月07日 09:53
  • 1870

Hibernate学习篇07——manytoone简单实例

项目结构 表结构 drop table orders; drop table Customers; create table Customers( id varchar2(32) ...
  • zhengliusu
  • zhengliusu
  • 2016年03月08日 17:04
  • 1001

eclipse里Hibernate配置+最简单小例子

配置没啥好说的,就是添加jar包。       直接上例子吧:     使用工具: Eclipse for JEE版 , SQLServer2000.       Ecl...
  • LanSeTianKong12
  • LanSeTianKong12
  • 2015年06月04日 11:44
  • 1834

Hibernate如何让数据库自动创建时间(时间戳)

Hibernate如何让数据库自动创建时间(时间戳)我自己的项目中,需要有一个功能,那就是每次用户对数据库中的数据进行修改时,我希望数据库能自动记录下修改时的时间,我用的数据库是微软的SQL Serv...
  • Liangjian_w
  • Liangjian_w
  • 2017年09月19日 09:11
  • 533

hibernate插入Mysql数据库出现中文乱码情况从这5个方面解决

因为有了新电脑所以又要解决乱码问题,在网上找帖子很是头疼,还是自己总结一下比较好。 hibernate插入Mysql数据库出现中文乱码情况从这几个方面解决:有了这几方面以后使用mysql的乱码问题就...
  • tuke_tuke
  • tuke_tuke
  • 2015年11月28日 10:45
  • 3122
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简单的hibernate数据库插入例子
举报原因:
原因补充:

(最多只允许输入30个字)