首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate第一回教程

2012-10-09 
Hibernate第一次教程第一个Hibernate项目1.启动MySQL服务 D:\DataBase\mysql-program\bin\mysqld-nt.exe2.

Hibernate第一次教程
第一个Hibernate项目
1.启动MySQL服务
D:\DataBase\mysql-program\bin\mysqld-nt.exe
2.新建Java项目
3.导包Hibernate和MySQL
Bulid Path->Add Library->User Library->...
4.新建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>
   <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
   <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
   <property name="hibernate.connection.url">jdbc:mysql:///test</property>
   <property name="hibernate.connection.username">root</property>
   <property name="hibernate.connection.password">lyyf</property>
   <property name="show_sql">true</property>
   <mapping resource="BasicCar/bean/BasicCar.hbm.xml"/>
  </session-factory>
</hibernate-configuration>
5. 新建BasicCar.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="BasicCar.bean.basicCar" table="car" lazy="true">
   <id name="id" type="long">
    <generator type="string"></property>
   <property name="factory" type="string"></property>
   <property name="date" type="date"></property>
  </class>
</hibernate-mapping>
6.新建BasicCar.java文件
7.创新ExportToDB.java文件
package BasicCar;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class ExportToDB {
  public static void main(String[] args) {
   //读取配置文件
   Configuration cfg = new Configuration().configure();
   //创建生成表的对象
   SchemaExport export = new SchemaExport(cfg);
   //生成表
   export.create(true,true);
  }
}
8.创建一个测试类
package basicCar;
import java.util.Date;
import org.hibernate.*;
import org.hibernate.cfg.*;
import org.junit.Before;
import org.junit.Test;
import basicCar.bean.BasicCar;
public class TestHibernate {
  Configuration cfg;//Configuration类用于读取数据库配置
  SessionFactory sf;//生成session工厂类
  Session session;//用于操作数据库的session接口
  @Before
  public void init(){
   //读取hibernate.cfg.xml配置文件
   Configuration  cfg = new Configuration().configure("hibernate.cfg.xml");
   //生成session
   sf = cfg.buildSessionFactory();
   //得到session 就相当于得到Connection
   session = sf.openSession();
  }

  @Test//保存一个BasicCar到事务中
  public void testSave(){
   //开始一个保存的事务
   Transaction tr = session.beginTransaction();
   BasicCar bc=new BasicCar();
   bc.setFactory("上u28023 ");
   bc.setName("BenZ");
   bc.setDate(new Date());
   session.save(bc);
   tr.commit();
  }
  @Test//更新数据库中BasicCar
  public void testUpdate(){
   Transaction tr = session.beginTransaction();
   BasicCar bc=new BasicCar();
   bc.setFactory("上u28023 ");
   bc.setId(1);
   bc.setName("BenZ");
   bc.setDate(new Date());
   session.update(bc);
   tr.commit();
  }
  @Test//从数据库中删除id=1的BasicCar记录
  public void testDelete(){
   Transaction tr = session.beginTransaction();
   BasicCar bc = (BasicCar)session.load(BasicCar.class, new Long(1));
   session.delete(bc);
   tr.commit();
  }
  @Test//从数据库查询所有的BasicCar
  public void testLoad(){
   Query query = session.createQuery("from basicCar");
   BasicCar bc =(BasicCar)query.list().get(1);
   System.out.println(bc.getId());;
   System.out.println(bc.getName());
   System.out.println(bc.getFactory());
   System.out.println(bc.getDate());
  }
}

热点排行