hibernate简介
hibernate寓意:let java objects hibernate in the relational database.
hibernate 是java应用和关系数据库之间的桥梁,负责java对象和关系数据库之间的映射的orm中间件。hibernate是一个开放源代码的对象关系映射框架,它对jdbc进行了非常轻量级的对象封装,使得java开发人员可以随心所欲的使用对象编程思维来操纵数据库。简单的说就是:
1.封装了通过jdbc访问数据库操作。
2.向上层应用提供访问面向对象数据访问的api。
创建hibernate配置文件
通过一个例子practice 演示如何运用hibernate来访问关系数据库。
practice 工程的功能:
通过hibernate保存客户(customer)信息。
其hibernate应用结构图如下:
???????????????????????????
practice 应用
customer class ; action class;business class
????????????????????????????
????????????????????????????
hibernate xml
对象-关系映射文件 hibernate api
hibernate 配置文件
????????????????????????????
????????????????????????????
关系数据库(mysql)
customers 表
????????????????????????????
创建持久化类
hibernate 从hibernate配置文件中读取和数据库连接相关的信息。
配置文件有两种形式:
一种是xml格式的文件:hibernate.cfg.xml
一种是java属性文件:hibernate.properties
这个实例中我们将使用hibernate.cfg.xml。
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
true
false
net.sf.hibernate.dialect.mysqldialect
org.gjt.mm.mysql.driver
jdbc:mysql://localhost:3306/netstore
root
123456
true
gb2312
插入位置在src目录下:
创建o/r对象-关系映射文件
创建持久化的类customer.java
package entity;import java.io.serializable;
public class customers implements serializable {
private integer id;
private string name;
private int age;
public customers() {
}
public int getage() {
return age; }
public void setage(int age) {
this.age = age;
}
public integer getid() {
return id;
}
public void setid(integer id) {
this.id = id;
}
public string getname() {
return name;
}
public void setname(string name) {
this.name = name;
}}
get/set 方法的命名必须符合javabean的规范,否则hibernate会报出异常,具体请参照相关资料。
关于serializable接口:
hibernate 并不要求持久化类必须实现java.io.serializable接口,但是对于采用分布式结构的java应用,当java对象在不同的进程节点之间传输时,这个对象必须实现这个接口;如果希望对httpsession中存放的java对象进行持久化,那么这个java对象必须实现serializable接口。
关于不带参数的构造方法:
public customers() { }
hibernate要求持久化类必须提供一个不带参数的默认的构造方法,原因请参考相关资料。
创建mysql数据库
数据库名称:netstroe
customer表ddl定义如下:create table `customers` ( `id` bigin
闽公网安备 35060202000074号