您的位置:首页 > 其它

Hibernate——第一个例子程序

2010-04-18 20:54 489 查看
两个星期以前开始学习Hibernate,突然觉得应该把学习当中的一些细节记录下来,以便以后查询,如果你的新手的强烈建议动手将例子写一遍。欢迎老鸟拍砖指正!

第一步:

将Hibernate所需要的JAR文件以及连接数据库的JAR文件拷贝到项目路径下。(所需Jar文件请自行查询)

第二步:

编写Hibernate的配置文件(Hibernate.cfg.xml)

第三步:

编写Domain实体类,并且在实体类的路径下,编写实体类对应的配置文件(实体类名.hbm.xml)

第四步:

编写应用程序环境类,调用Hibernate进行实体类的持久化工作.

下面给出配置文件的写法,实体类,以及实体类的配置文件,应用程序环境类的写法及解释.

Hibernate.cfg.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">

<hibernate-configuration>

<session-factory>
<!-- 说明显示SQL语句 -->
<property name="show_sql">true</property>
<property name="connection.username">hejun</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/hibernate
</property>
<!-- 说明使用MySql数据库方言 -->
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.password">hejun</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- 说明自动生成表格 -->
<property name="hbm2ddl.auto">create</property>

<mapping resource="com/fendou/domain/User.hbm.xml" />
</session-factory>

</hibernate-configuration>


实体类

package com.fendou.domain;

import java.util.Date;

public class User {
private int id;
private String name;
private Date birthday;
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
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;
}
}


实体类映射文件(User.hbm.xml)

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping package="com.fendou.domain"> <!-- 包名 -->
<class name="User"> <!-- 类名 -->
<id name="id">	<!-- 表中主键字段名默认与name一致-->
<generator class="native"></generator> <!-- 主键产生方式 -->
</id>
<property name="name"></property> <!-- 表中字段名默认与domain成员名一致-->
<property name="birthday"></property>
</class>
</hibernate-mapping>


应用程序环境类

import java.util.Date;

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

import com.fendou.domain.User;

public class Main {
public static void main(String[] args) {

User user = new User();

Configuration cfg = new Configuration();
cfg.configure();
SessionFactory sf = cfg.buildSessionFactory();
Session s = sf.openSession();
Transaction tx = s.beginTransaction();

user.setName("name");
user.setBirthday(new Date());
s.save(user);
tx.commit();
s.close();
System.out.println("end!");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: