hibernate的创建

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包




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lm_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值