1 创建一个Java项目,在项目中新建一个lib,将需要的Hibernate包和MySQL包导入,并Build Path
2 在src下添加Hibernate.cfg.xml在此文件中对Hibernate和MySQL进行配置,此处的配置作用,类似于JDBC的共用
我理解为此处用于与数据库连接
<hibernate-configuration>
<session-factory>
//确定方言
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
//Driver
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- Assume test is the database name -->
//url
<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/test
</property>
//root
<property name="hibernate.connection.username">
root
</property>
//password
<property name="hibernate.connection.password">
123456
</property>
//配置Mapping
<mapping resource="com/whl/bean/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
3 在Bean下建立bean以及Bean.hbm.xml。在此xml中属性名等与数据库对应,此xml也叫映射文件的配置
在cfg.xml中进行mapping配置
<hibernate-mapping>
<class name="com.phone1000.je1702.bean.User">
<id name="uid" type="java.lang.Integer">
<generator class="increment"/>
</id>
<property name="username" not-null="true" length="15" column="username"/>
<property name="password" not-null="true" length="15" column="`password`"/>
</class>
</hibernate-mapping>
4 实现数据库的crub操作
注:因为Hibernate是一个封装了JDBC的ORM框架,所以在开发中,其主要用于DAO、Server部分
①在dao下新建一个接口,写增删改查的方法
②new 一个Class继承上面的接口
//1 创建一个configuraction对象,在configure()方法中会调用带参的构造器
Configuration cfg=new Configuration.configure();
//2 通过Configuration创建SessionFactory
SessionFactory sf=cfg.bulidSessionFactory();
//3 使用SessionFactory对象创建一个Session对象
Session s=sf.openSession();
//4 通过session对象开启一个事物
Transaction tx=s.beginTransaction();
try{
//5 实现数据的CRUD操作
s.save(user);
//6 commit或者rollback 事物
tx.commit();
return ;
}catch(){
//6 commit或者rollback 事物
tx.rollback();
}
7 关闭session对象
注:在查询时,不改变表中数据,则不需要开启事物
直接用session.createQuery("from user")
③ 测试增删改查(Junit)