Hibernate的开发步骤:
一、实体类的创建;
public class User {
private int id;
private int num;
private String name;
private String password;
它们的getter和setter方法。
}
二、在数据库中创建相应的表:
create table users(
id number(10) constraint users_id_pk primary key,
num number(10) constraint users_num_uk unique,
name varchar2(15),
password varchar2(15)
);
三、Hibernate开发环境的搭建:
1.导入链接数据库所需要的jar包,如ojdbc14.jar
2.导入Hibernate的jar包:hibernate3.jar
3.导入hibernate3.jar所需要引用的其他的jar包。
四、配置文件的配置:
1.hibernate.cfg.xml的配置:(要求放置在src目录下)。
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/HibernateConfiguration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 1 连接获取相关的内容 -->
<property name="connection.driver_class">oracle.jdbc.OracleDriver</property>
<propertyname="connection.url"> jdbc:oracle:thin:@127.0.0.1:1521:yangxu </property>
<property name="connection.username">scott</property>
<property name="connection.password">tiger</property>
<!-- 2 hibernate自身属性相关的内容 -->
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<!-- 3 映射文件的注册 -->
<mapping resource="controller/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
2.xxx.hbm.xml的配置:
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="model.entity.User" table="users">
<id name="id" column="id" type="java.lang.Integer">
<generator class="increment">
</generator>
</id>
<property name="num"column="num"type="java.lang.Integer"/>
<property name="name"column="name"type="java.lang.String"/>
<property name="password"column="password"type="java.lang.String"/>
</class>
</hibernate-mapping>
五、Hibernate的API的使用:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
importorg.hibernate.cfg.Configuration;
(一)读取配置文件:
try{
Configuration cfg= new Configuration();
cfg.configure();
}catch(Exceptione){
e.printStackTrace();
}
(二)创建SessionFactory对象:
SessionFactory sf= cfg.buildSessionFactory();
(三)获取Session对象:
Session session =sf.openSession();
(四)控制事务以及用Session对象处理增删该查。
Transaction ts = session.getTransaction();
ts.begin();
try{
//增
User u = newUser();
u.setName("yang");
u.setNum(11);
u.setPassword("123456");
session.save(u);
ts.commit();
//查
User u =(User)session.get(User.class,键值);
//删
User u =(User)session.get(User.class,键值);
if(u!=null)session.delete(u);
//改
User u =(User)session.get(User.class,键值);
if(u!=null){
u.setName("newName");
session.update(u);
}
}catch(Exceptione){
e.printStackTrace();
if(ts!=null) ts.rollback();
}finally{
if(session!=null)session.close();
}