hibernate学习笔记一

由于好长时间不用hibernate,故抽时间将这部分知识温习一下。在此记录一下自己的学习进度。好了,直接上代码

首先,先准备hibernate开发要用到的jar包,本次学习中使用的hibernate版本是3.4.0,上图:

准备好要用到的jar包,下面就开始真正的开发,我的开发环境是Eclipse helios 版本。

下一步,让我新建一个java project ,命名为spring_hibernate_day01,上图:

其中,model包下是实体类,还有hibernate映射文件,默认约定映射文件和实体类放在一起。

hibernate.cfg.xml 是hibernate的核心配置文件

test包下用来进行相应的测试。

好,直接上代码

model 类 Teacher:

import java.util.Date;

public class Teacher {
	private int id;
	private String name;
	private String address;
	private Date year;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public Date getYear() {
		return year;
	}
	public void setYear(Date year) {
		this.year = year;
	}

}

映射文件teacher.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">

<hibernate-mapping package="cn.**.hibernate.model">
	<class name="Teacher">
		<id name="id">
			<generator class="native"/>
		</id>
		<property name="name"/>
		<property name="address"/>
		<property name="year"/>
	</class>
</hibernate-mapping>

hiberante的核心配置文件,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>

        <!-- Database connection settings -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost/test</property>
        <property name="connection.username">root</property>
        <property name="connection.password">123456</property>

        <!-- JDBC connection pool (use the built-in) -->
        <!--<property name="connection.pool_size">1</property>-->

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <!-- Enable Hibernate's automatic session context management -->
        <!--<property name="current_session_context_class">thread</property>-->

        <!-- Disable the second-level cache  -->
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>

        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">update</property>

        <mapping resource="cn/***/hibernate/model/teacher.hbm.xml"/>

    </session-factory>

</hibernate-configuration>


好,到此所有的代码都已经完成,下面让我们进行一下测试,看数据是否能保存到数据库里,上代码


TeacherTest:

public class TeacherTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Teacher t = new Teacher();
		t.setName("name");
		t.setAddress("beijing");
		t.setYear(new Date());
		
		Configuration cfg = new Configuration();
		SessionFactory sf = cfg.configure().buildSessionFactory();
		
		Session session = sf.openSession();
		session.beginTransaction();
		session.save(t);
		session.getTransaction().commit();
		session.close();
		sf.close();
	}

}


让我们查一下数据库,看数据是否保存到数据库中,上图:

到此,我们就完成了hibernate第一次的学习记录,有需要讨论的童鞋,请给我留言。。。

原文地址:https://www.cnblogs.com/dyllove98/p/3125146.html