首页 > 代码库 > Hiberate HelloWorld入门
Hiberate HelloWorld入门
通过两种方式来创建项目,一种是用xml方式来描述映射关系,一种是用Annation方式来进行描述
1 建立新java 项目,名为hibernate_0100_HelloWorld2 学习建User-library-hibernate,并加入相应的jar包 a) 项目右键-buildpath-configure build path-add library— b) 选择User-library,在其中新建 libraray,命名为 hibernate c) 在该library中加入hibernate所需jar包 i. hibernate core ii. lib/required下所有jar包 iii. slf-nop jar3 引入mysql的JDBC驱动包4 在mysql中建立对应的数据库以及表 a) create database hibernate; b) use hibernate; c) create table Student (id int primary key, namevarchar(20), age int);5 建立hibernate 配置文件hibernate.cfg.xml a) 从参考文档中copy b) 修改对应的数据库连接 c) 注释掉暂时用不上的内容
<mapping resource="com/lai/hiberte/model/Student.hbm.xml"/>
6 建立Student 类(属性,getter方法和setter方法)7 建立Student 映射文件 Student.hbm.xml (Id是什么,
<hibernate-mapping package="com.lai.hiberte.model"> 指明包
<class name="Student" table="Student"> 指明表名,类名
<id name="id"> id这个字段就是primary key,主键的意思
</id>
<property name="name"/>
<property name="age"/>
</class>
</hibernate-mapping>
8 将映射文件加入到hibernate.cfg.xml中 a) 参考文档
====================================
TestClass:
public class TestClass {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s = new Student();
s.setId(1);
s.setAge(22);
s.setName("laichunbin");
Configuration cfg = new Configuration();
SessionFactory sf = cfg.configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
sf.close();
}
}
#######################
Annation版
Annation版很简单,比手动写xml文件方便多了
在类的前面加上,@Entity ,在主键的getter方法前面加上@Id,需要引入两个类
(JPA,HIBERATE)
import javax.persistence.Entity;
import javax.persistence.Id;
/** * */import javax.persistence.Entity;import javax.persistence.Id;/** * @author laicb * */@Entitypublic class Teacher { int id; String name; String title; @Id public int getId() { return id; } public String getName() { return name; } public String getTitle() { return title; } public void setId(int id) { this.id = id; } public void setName(String name) { this.name = name; } public void setTitle(String title) { this.title = title; }}
加上@Entriy,@Id就做好映射了,可以直接使用,不过在New Configuration的时候使用AnnationConfiguration
public static void main(String[] args) { // TODO Auto-generated method stub Teacher s = new Teacher(); s.setId(1); s.setName("laichunbin"); s.setTitle("assistant professor"); Configuration cfg = new AnnotationConfiguration(); SessionFactory sf = cfg.configure().buildSessionFactory(); Session session = sf.openSession(); session.beginTransaction(); session.save(s); session.getTransaction().commit(); session.close(); sf.close(); }
Tips:
@不给提示,在preference-Content Edit -annotinon for java (.,@)就可以。