进入hibernate视图新建数据库
选oracle(thin driver)
Connnection URL:jdbc:oracle:thin:@127.0.0.1:1521:XE
add JARs : classes12.jar
新建项目
然后右键Myeclipse添加Hibernate
选择3.1-->-->选择数据库-->新建一个包来存放HibernateSessionFactory
文件-->即可创建完毕
新建一个domain包建立bean跟bean的映射Emp.hbm.xml(实现bean与数据库
表的连接)
--->选第1个-->选第2个(选Hibernate Mapping DTD 3.0)-->完成即可
hibernate.xcfg.xml add show_seq=“true”处理数据库
最后要将hibernate.xcfg.xml与Emp.hbm.xml连接(将Emp.hnm.xml拖到
hibernate.xcfg.xml视图界面的mappings中即可)
Emp.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" >
<hibernate-mapping>
<class name="com.domain.Emp" table="EMP" lazy="false"> <!--
lazy=true是延迟加载flase不是 -->
<id name="empno" column="EMPNO">
<generator class="sequence">
<param name="sequence">employee_seq</param>
</generator>
</id>
<property name="ename" column="ENAME"></property>
<property name="job" column="JOB"></property>
<property name="sal" column="SAL"></property>
</class>
</hibernate-mapping>
建立处理类:
添加:
public static void insertEmp(Emp emp){
Session session=HibernateSessionFactory.getSession();//获
得HibernateSessionFactory
Transaction tc=session.beginTransaction();//获得一个事务
session.save(emp);//把数据添加到数据库中
tc.commit();//提交事务,在提交之前,插入的数据在内存中
HibernateSessionFactory.closeSession();//关闭session对象
}
删除:
public static void deleteEmp(Emp emp){
Session session=HibernateSessionFactory.getSession();//获
得HibernateSessionFactory
Transaction tc=session.beginTransaction();//获得一个事务
session.delete(emp);
tc.commit();
HibernateSessionFactory.closeSession();//关闭session对象
}
查询:
public static void selectByid(Long empno){
Session session=HibernateSessionFactory.getSession();//获
得HibernateSessionFactory
Transaction tc=session.beginTransaction();//获得一个事务
Emp emp=(Emp)session.load(Emp.class,empno);
tc.commit();
System.out.println(emp.getEname()+":"+emp.getSal());
HibernateSessionFactory.closeSession();
}
修改1:
public static void updateEmp(){
Session session=HibernateSessionFactory.getSession();//获
得HibernateSessionFactory
Transaction tc=session.beginTransaction();//获得一个事务
Emp emp=new Emp();
emp.setEmpno(new Long(1));
emp.setEname("李庆豹");
session.update(emp);
tc.commit();
HibernateSessionFactory.closeSession();
}
修改2:
public static void updateEmp1(){//持久话对象第2中修改的方法
Session session=HibernateSessionFactory.getSession();
Transaction tc=session.beginTransaction();
Emp emp=(Emp)session.load(Emp.class, new Long(1));
emp.setEname("李庆豹");
emp.setJob("mmm");
emp.setSal(new Long(8888));
tc.commit();
HibernateSessionFactory.closeSession();