步骤:
1、导包(hibernate的包,还有数据库用到的)
2、创建hibernate的配置文件
3、创建持久化类
4、创建对象-关系映射文件
5、通过hibernate API 编写访问数据库的代码
1、到官方网站下载对应版本的源码,然后解压缩,在一级目录下得到hibernate的核心包,我用的是hibernate3,然后在lib/required目录下得到所需要的包,我用的是mysql6,还需要mysql的包,新建web项目,然后把刚才的jar包,放在lib目录下。
2、hibernate的配置文件,可以在project/etc目录下获得,然后把这个文件拷贝到项目的src目录下。如下配置:
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory name="mysql"> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/test</property> <property name="connection.username">root</property> <property name="connection.password"></property> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <property name="show_sql">true</property> <mapping resource="com/demo/pojo/Students.hbm.xml"/> </session-factory> </hibernate-configuration>
3、持久化类中的属性与数据库中的字段最好一一对应,然后在生成相应的getter和setter方法
package com.demo.pojo; public class Students { private int sid; private String sname; public int getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } }
4、创建对象关系映射文件,如下
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.demo.pojo"> <!-- 一个class对应一个类,与表相关联起来 --> <class name="Students" table="students"> <!--id对应的是主键 --> <id name="sid" column="sid" type="int"> </id> <!-- property对应的是其它列 --> <property name="sname" column="sname" type="string" /> </class> </hibernate-mapping>
5、编写测试类
package com.demo.dao; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import com.demo.pojo.Students; public class HibernateTest { public static void main(String[] args) { /** * buildSessionFactory默认会读取名字叫做hibernate.cfg.xml的文档,然后解析里面的 * 内容从而生成SessionFactory,然后这个SessionFactory负责数据库连接 * */ SessionFactory sf = new Configuration().configure().buildSessionFactory(); Session session = sf.openSession(); Transaction tx = session.beginTransaction(); try { Students s = new Students();//生成要操作的对象 s.setSid(1); s.setSname("zhansan"); session.save(s);//保存这个对象 tx.commit();//提交事务 } catch (Exception e) { e.printStackTrace(); tx.rollback();//回滚事务 }finally{ if(session!=null) { session.close();//释放资源 } } } }