hello world from hibernate

初次学习hibernate,第一个程序,用的是XML配置文件

准备工作:下载hibernate的JAR包,我下的是当前最新的4.2.3,SQL的数据库驱动文件SQLJDBC,导入上述架包。

 

至此准备工作OK。

步骤:

1:定义一个类,这个类的属性,就是你要存放到数据库中的内容。当然有些属性可以不存入,这些还需要配置文件来决定。

我的类的定义:

package com.hibernate.model;



import java.util.Date;



public class Log {



    

     public Log()

     {

         this.OperateTime = new Date();

     }

    

     private  int Id ;

     private  int Version; 

     private  int VersionHelper;

     private  String OperateType; 

     private  Date OperateTime ;

     private  String Operater ;

     private  String DetailOperate ;

     private  Boolean Success; 

     private  String FailInfo ;

    

     public int getId() {

        return Id;

    }

     public void setId(int id) {

        Id = id;

    }

    public int getVersion() {

        return Version;

    }

    public void setVersion(int version) {

        Version = version;

    }

    public int getVersionHelper() {

        return VersionHelper;

    }

    public void setVersionHelper(int versionHelper) {

        VersionHelper = versionHelper;

    }

    public String getOperateType() {

        return OperateType;

    }

    public void setOperateType(String operateType) {

        OperateType = operateType;

    }

    public Date getOperateTime() {

        return OperateTime;

    }

    public void setOperateTime(Date operateTime) {

        OperateTime = operateTime;

    }

    public String getOperater() {

        return Operater;

    }

    public void setOperater(String operater) {

        Operater = operater;

    }

    public String getDetailOperate() {

        return DetailOperate;

    }

    public void setDetailOperate(String detailOperate) {

        DetailOperate = detailOperate;

    }

    public Boolean getSuccess() {

        return Success;

    }

    public void setSuccess(Boolean success) {

        Success = success;

    }

    public String getFailInfo() {

        return FailInfo;

    }

    public void setFailInfo(String failInfo) {

        FailInfo = failInfo;

    }

    

}

2:配置这个类的的映射文件。Log.hbm.xml

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.hibernate.model">

 <class name="Log" table="WMS.Log">

  <id name="Id" column="Id">

  </id>

  <property name="Version" column="Version" type="int" not-null="true"></property>



  <property name="VersionHelper" column="VersionHelper" type="int" not-null="true"></property>



  <property name="OperateType" column="OperateType" type="string"/>

 

  <property name="OperateTime" column="OperateTime" />



  <property name="Operater" column="Operater" type="string"/>

  

  <property name="DetailOperate" column="DetailOperate" type="string"/>

  <property name="Success" column="Success" type="boolean"/>

  <property name="FailInfo" column="FailInfo" type="string"/>

  

 </class>

</hibernate-mapping>
 
   

 

 
  

配置文件的时候,里面的name是类中对应属性的名字,而column是这个属性对应数据库中的列,一般情况下基本相同,方便理解.

后面的TYPE,是属性对应的类型,如果不写的话,那么会自动识别。

 

3:配置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="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>

        <property name="connection.url">jdbc:sqlserver://127.0.0.1:1433;databaseName=wms_meide</property>

        <property name="connection.username">sa</property>

         <property name="connection.password">123456</property>

        

        

        <property name="show_sqlserver">true</property>



         <mapping resource="com/hibernate/model/Log.hbm.xml" />

        

  </session-factory>

</hibernate-configuration>

其中mapping配置,是要映射类的映射文件所在的地方。

 

到此所有的配置工作已经完成。

写一个单元测试:

    public static void main(String[] args)

    {

        

        Log log=new Log();

        log.setId(1111);

        log.setOperater("gjf");

        log.setOperateType("ccc");

        log.setVersionHelper(1);

        log.setVersion(2);

        log.setSuccess(true);

        

        Configuration cfg=new Configuration();

       // cfg.configure("/hibernate.cfg.xml");

    

        @SuppressWarnings("deprecation")

        SessionFactory sf=cfg.configure().buildSessionFactory();//这个方法已经过时,但是还是可以用

        Session session=sf.openSession();//得到session

        session.beginTransaction();//开启事务

        session.save(log);//保存到数据库

        session.getTransaction().commit();//提交事务,如果事务出现问题,那么保存会失败

        session.close();

        sf.close();

        

    }

第一个hibernate已经写好并成功运行。

期间出现的问题:

1:无法解析hibernate.cfg.xml文件。

解决方法:这个问题主要是XML文件书写有误,导致格式不正确。将其用浏览器打开,如果不报错则说明已经OK。如果报错,按照提示,解决问题!

2:写入数据库的时候,无法执行SQL语句,

可能是因为配置文件时的格式和数据库格式不一致,将配置文件中的TYPE删除即可。

 

 

你可能感兴趣的:(Hello world)