Hibernate 第一课

第一步:在NetBeans下建一个java项目(在javaweb项目中可以选择自带了基本的库文件,而且还配置了hibernate_cfg.xml)。

第二步:接下来配置hibernate.cfg.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">    ....................................1

<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://localhost:3306/test</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password"/>
    <!--sql-->
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.format_sql">true</property>
    <property name="hibernate.hbm2ddl.auto">update</property>
    <!--映射文件-->
    <mapping resource="instance.hbm.xml"/>
  </session-factory>
</hibernate-configuration>
  1、注意红色部分你需要对应你自己的版本。

  2、注意在NetBeans下,默认使用的Derby数据库什么的,我这是MySQL我就改成MySQL相关的配置。

第三步:创建一个持续类,我取得类名为Instance。

package Test;
public class Instance {
    Instance(int id, String name, int number) {
        this.id = id;
        this.name = name;
        this.number = number;
    }
    int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public void setNumber(int number) {
        this.number = number;
    }
    public void setName(String name) {
        this.name = name;
    }
    int getNumber() {
        return number;
    }
    String getName() {
        return name;
    }
    private int id, number;
    private String name;
}
  1、所有的属性都要有get和set方法!!!!!

第四步:创建一个表,我的取名为hibernate_db。

注意:建议把设置主键  并且把你的主键设置为自增(数字的话)。


第五部:选择你的项目右键->hibernate映射想到 文件名 xxxx.hbm.xml 选择你刚刚建的类  我的就是上面的Instance类。。。。根据提示,然后填上自己类的信息下面是我的Instance.hbm.xml。


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">  //注意和第二步一样匹配自己的版本
<!--

-->
<hibernate-mapping>
    <class name="Test.Instance" table="hibernate_db">
        <id name="id" column="id">  //主键用id来描述 前一个是在类里面的名,后一个是在数据库里面的列名
            <generator class="native"/>
        </id>
        <property name="name" column="name"/>  //其他的属性用property标签
        <property name="number" column="number"/>
    </class>
</hibernate-mapping>

第六步:编写测试类,测试前边的配置。

package Test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;


public class test {
    public static void main(String args[]) {
        Configuration cfg = new Configuration().configure();
        SessionFactory sf = cfg.buildSessionFactory();
        Session sesion = sf.openSession();
        Transaction ts = sesion.beginTransaction();

        Instance instace = new Instance(8,"jiangchunjie",457899);
        sesion.save(instace);
        ts.commit();
        sesion.close();
        sf.close();
    }
}
结果如下:

不用管这个id为6  因为刚刚已经设置了主键自增模式!数据库已经增到6;