1、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>
<!-- Database connection settings -->
<!-- 配置驱动 -->
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property>
<property name="connection.username">scott</property>
<property name="connection.password">tiger</property>
<!-- SQL dialect -->
<!-- 配置方言. -->
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<!-- 指定对象关系映射文件 -->
<mapping resource="com/lmy/domain/Employee.hbm.xml"/>
</session-factory>
</hibernate-configuration>
2、Employee.hbm.xml的配置
<?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'>
<!-- 这是一个对象关系映射文件User和users关联 -->
<hibernate-mapping package="com.lmy.domain">
<!-- 类和表建立联系 -->
<class name="Employee" table="employee">
<!-- 配置主键属性 -->
<id name="id" type="java.lang.Integer" column="id">
<generator class="sequence" >
<param name="sequence">emp_seq</param>
</generator>
</id>
<!-- 配置其他属性 -->
<property name="name" type="java.lang.String" >
<column name="name" not-null="false"/>
</property>
<property name="email" type="java.lang.String">
<column name="email" not-null="false"/>
</property>
<property name="hiredate" type="java.util.Date">
<column name="hiredate" not-null="false" />
</property>
</class>
</hibernate-mapping>
3、TestMain.java 文件
package com.lmy.view;
import com.lmy.util.*;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.lmy.domain.Employee;
import com.lmy.util.MySessionFctory;
@SuppressWarnings("unused")
public class TestMain {
public static void main(String[] args) {
addEmployee();
//modify();
}
public static void modify() {
Session session = MySessionFctory.getSessionFactory().openSession();
//做成事务
Transaction ts = session.beginTransaction();
//修改用户
Employee emp = (Employee) session.load(Employee.class, 4);
emp.setName("huhu");//导致update的产生
emp.setEmail("894109319@qq.com");
ts.commit();
session.close();
}
public static void addEmployee() {
// TODO Auto-generated method stub
//用hibernate完成crud操作
//读取hibernate.cfg.xml文件
Configuration configuration = new Configuration().configure();
//创建SessionFactory会话工厂
SessionFactory sessionFactory =configuration.buildSessionFactory();
//创建Session
Session session = sessionFactory.openSession();
Transaction transtion = session.beginTransaction();
//添加一个雇员
Employee employee = new Employee();
employee.setEmail("lmy@126.com");
employee.setName("meng");
employee.setHiredate(new Date());
//保存
session.save(employee);
//提交
transtion.commit();
session.close();
}
}
4、Employee.java文件
package com.lmy.domain;
public class Employee implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
//pojo也叫javabean,按照国定应该被序列话,目的是唯一标识的对象
private Integer id;
private String name;
private String email;
private java.util.Date hiredate;
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;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public java.util.Date getHiredate() {
return hiredate;
}
public void setHiredate(java.util.Date hiredate) {
this.hiredate = hiredate;
}
}
5、需要的jar包