Hibernate学习笔记(一)----初识Hibernate
2017-03-27 17:35
316 查看
一、环境准备
下载hibernate-distribution-3.3.2.GA-dist
下载hibernate-annotations-3[1].4.0.GA
二、创建第一个Hibernate程序
1)新建一个javaproject,导入hibernate需要的jar包:
i. hibernate core
ii. /required
iii. slf4j-nop jar(注意要和/required目录下的slf4j-api版本相对应 )
2)引入MySQL的JDBC驱动,在mysql中建立对应的数据库以及表
a) create database hibernate;
b) use hibernate;
create table Student (id int primary key,namevarchar(20), age int);
3)建立hibernate配置文件hibernate.cfg.xml
在hibernate的文档中有对应的模版,将其复制下来,并修改成如下配置:
<?xmlversion='1.0'encoding='utf-8'?>
<!DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/Hibernate Configuration DTD3.0//EN"
"http://hibernate.sourceforge.NET/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<propertyname="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<propertyname="connection.url">
jdbc:mysql://localhost/hibernate
</property>
<propertyname="connection.username">root</property>
<propertyname="connection.password">123</property>
<!-- JDBC connection pool (use thebuilt-in) -->
<!-- <propertyname="connection.pool_size">1</property> -->
<!-- SQL dialect -->
<propertyname="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Enable Hibernate's automaticsession context management -->
<!-- <propertyname="current_session_context_class">thread</property>-->
<!-- Disable the second-level cache -->
<propertyname="cache.provider_class">
org.hibernate.cache.NoCacheProvider
</property>
<!-- Echo all executed SQL to stdout -->
<propertyname="show_sql">true</property>
<!-- Drop and re-create the databaseschema on startup -->
<!-- <propertyname="hbm2ddl.auto">create</property> -->
<!-- <propertyname="myeclipse.connection.profile"></property> -->
<mappingresource="com/xuhaibin/hibernate/model/Student.hbm.xml"/>
</session-factory>
</hibernate-configuration>
<mapping> 要设置成对应的映射文件
4)建立Student的映射文件student.hbm.xml
参考文档中的示例映射文件,修改成如下内容:
<?xmlversion="1.0"?>
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/Hibernate Mapping DTD3.0//EN"
"http://hibernate.sourceforge.Net/hibernate-mapping-3.0.dtd">
<hibernate-mappingpackage="com.xuhaibin.hibernate.model">
<classname="Student">
<idname="id"/>
<propertyname="name"/>
<propertyname="age"/>
</class>
</hibernate-mapping>
5)在com.xuhaibin.hibernate.model包下建立相应的Student类,生成get,set方法
6)建立测试类StudentTest内容如下:
[java]
view plain
copy
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.xuhaibin.hibernate.model.Student;
public class StudentTest {
public static voidmain(String[] args){
Student s = new Student();
s.setId(1);
s.setName("s1");
s.setAge(1);
Configuration cfg = newConfiguration();
SessionFactory sf =cfg.configure().buildSessionFactory();
Session session =sf.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
sf.close();
}
}
三、使用annotation建立Teacher类,@Entity注解实体,@id注解主键
下载hibernate-distribution-3.3.2.GA-dist
下载hibernate-annotations-3[1].4.0.GA
二、创建第一个Hibernate程序
1)新建一个javaproject,导入hibernate需要的jar包:
i. hibernate core
ii. /required
iii. slf4j-nop jar(注意要和/required目录下的slf4j-api版本相对应 )
2)引入MySQL的JDBC驱动,在mysql中建立对应的数据库以及表
a) create database hibernate;
b) use hibernate;
create table Student (id int primary key,namevarchar(20), age int);
3)建立hibernate配置文件hibernate.cfg.xml
在hibernate的文档中有对应的模版,将其复制下来,并修改成如下配置:
<?xmlversion='1.0'encoding='utf-8'?>
<!DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/Hibernate Configuration DTD3.0//EN"
"http://hibernate.sourceforge.NET/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<propertyname="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<propertyname="connection.url">
jdbc:mysql://localhost/hibernate
</property>
<propertyname="connection.username">root</property>
<propertyname="connection.password">123</property>
<!-- JDBC connection pool (use thebuilt-in) -->
<!-- <propertyname="connection.pool_size">1</property> -->
<!-- SQL dialect -->
<propertyname="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Enable Hibernate's automaticsession context management -->
<!-- <propertyname="current_session_context_class">thread</property>-->
<!-- Disable the second-level cache -->
<propertyname="cache.provider_class">
org.hibernate.cache.NoCacheProvider
</property>
<!-- Echo all executed SQL to stdout -->
<propertyname="show_sql">true</property>
<!-- Drop and re-create the databaseschema on startup -->
<!-- <propertyname="hbm2ddl.auto">create</property> -->
<!-- <propertyname="myeclipse.connection.profile"></property> -->
<mappingresource="com/xuhaibin/hibernate/model/Student.hbm.xml"/>
</session-factory>
</hibernate-configuration>
<mapping> 要设置成对应的映射文件
4)建立Student的映射文件student.hbm.xml
参考文档中的示例映射文件,修改成如下内容:
<?xmlversion="1.0"?>
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/Hibernate Mapping DTD3.0//EN"
"http://hibernate.sourceforge.Net/hibernate-mapping-3.0.dtd">
<hibernate-mappingpackage="com.xuhaibin.hibernate.model">
<classname="Student">
<idname="id"/>
<propertyname="name"/>
<propertyname="age"/>
</class>
</hibernate-mapping>
5)在com.xuhaibin.hibernate.model包下建立相应的Student类,生成get,set方法
6)建立测试类StudentTest内容如下:
[java]
view plain
copy
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.xuhaibin.hibernate.model.Student;
public class StudentTest {
public static voidmain(String[] args){
Student s = new Student();
s.setId(1);
s.setName("s1");
s.setAge(1);
Configuration cfg = newConfiguration();
SessionFactory sf =cfg.configure().buildSessionFactory();
Session session =sf.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
sf.close();
}
}
三、使用annotation建立Teacher类,@Entity注解实体,@id注解主键
package com.xuhaibin.hibernate.model; import javax.persistence.Entity; import javax.persistence.Id; @Entity public class Teacher { private int id; private String name; private String title; @Id public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(Stringname) { this.name = name; } public String getTitle() { return title; } public void setTitle(Stringtitle) { this.title = title; } }
相关文章推荐
- Hibernate学习笔记 第一章 Hibernate 入门概念与配置
- 初识Hibernate框架
- 初识Hibernate(三)之查询操作
- Hibernate学习笔记2,配置Hibernate框架的核心配置文件
- hibernate学习(二)----初识标签
- HIbernate学习笔记(一) 了解hibernate并搭建环境建立第一个hello world程序
- 初识Hibernate
- Hibernate学习笔记(三) — Hibernate 的一级缓存意义
- 深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架
- 初识Hibernate之关联映射(二)百度_合作
- 初识J2EE框架(struts+hibernate+spring)
- hibernate学习笔记(1)hibernate基本步骤
- 初识Hibernate
- Hibernate框架学习之初识Hibernate
- Hibernate学习笔记(2)Hibernate关系映射整理
- 【Hibernate】——初识hibernate
- 【hibernate】HQL初识
- 初识Hibernate
- 深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架
- 深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架 .