初识hibernate

来源:互联网 发布:白俄罗斯军力知乎 编辑:程序博客网 时间:2024/05/20 07:31

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.username">root</property>        <property name="connection.password"></property>        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>        <property name="connection.url">jdbc:mysql:///hibernate?useUncode=true&amp;characterEncoding=UTF-8</property>        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>        <property name="show_sql">true</property>        <property name="format_sql">true</property>        <property name="hbm2ddl.auto">create</property>        <mapping  resource="Students.hbm.xml" />    </session-factory></hibernate-configuration>

持久化类:

import java.util.Date;//学生类public class Students {    /*     * 1. 公有类 2.提供公有的不带参数的的默认构造方法 3.属性私有 4.属性setter/getter     */    private int sid;    private String sname;    private String gender;    private Date birthday;    private String address;    public Students() {    }    public Students(int sid, String sname, String gender, Date birthday,            String address) {        this.sid = sid;        this.sname = sname;        this.gender = gender;        this.birthday = birthday;        this.address = address;    }    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;    }    public String getGender() {        return gender;    }    public void setGender(String gender) {        this.gender = gender;    }    public Date getBirthday() {        return birthday;    }    public void setBirthday(Date birthday) {        this.birthday = birthday;    }    public String getAddress() {        return address;    }    public void setAddress(String address) {        this.address = address;    }    @Override    public String toString() {        return "Students [sid=" + sid + ", sname=" + sname + ", gender="                + gender + ", birthday=" + birthday + ", address=" + address                + "]";    }}

对象关系映射文件:Students.hbm.xml

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Generated 2017-9-30 19:01:22 by Hibernate Tools 3.4.0.CR1 --><hibernate-mapping>    <class name="Students" table="STUDENTS">        <id name="sid" type="int">            <column name="SID" />            <generator class="assigned" />        </id>        <property name="sname" type="java.lang.String">            <column name="SNAME" />        </property>        <property name="gender" type="java.lang.String">            <column name="GENDER" />        </property>        <property name="birthday" type="java.util.Date">            <column name="BIRTHDAY" />        </property>        <property name="address" type="java.lang.String">            <column name="ADDRESS" />        </property>    </class></hibernate-mapping>

测试类:

import java.util.Date;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;import org.junit.After;import org.junit.Before;import org.junit.Test;//测试类public class StudentsTest {    private     SessionFactory   sessionFactory;    private     Session session;    private     Transaction transaction;    @Before    public void init()    {           //创建配置对象        Configuration  config=new Configuration().configure();        //创建服务注册对象        ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();        //创建会话工厂对象        sessionFactory=config.buildSessionFactory(serviceRegistry);        //会话对象        session=sessionFactory.openSession();        //开启事务        transaction=session.beginTransaction();    }    @After    public void destory()    {        transaction.commit();//提交事务        session.close();//关闭会话        sessionFactory.close();//关闭会话工厂    }    @Test    public void testSaveStudents()    {        //生成一个学生对象        Students s =new Students(1,"张三丰","男",new Date(),"武当山");        session.save(s);//保存对象进数据库;    }}