Hibernate 小案例
笔记:
curricula 数据库
=========================================
学生
Student(id,name,pwd,phone,grade,photo)
1.创建javabean
getter和setter的快捷键
alt+shift+s r
2.建立映射文件
建立对象与表的对应关系,对象属性与表中字段的对应关系。
完全限定名
3.测试程序
Junit单元测试
事务 Transaction
把多个命令绑定成一个事务,要么全部成功,要么全部失败。
4.用注解方式配置映射关系
content assist
===========================================================================
Student.java
数据库中的信息
package model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Student {
private int id;
private String name;
private String pwd;
private String phone;
private String grade;
private String photo;
@Id
@GeneratedValue
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 getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
public String getPhoto() {
return photo;
}
public void setPhoto(String photo) {
this.photo = photo;
}
}
2.建立映射文件
建立对象与表的对应关系,对象属性与表中字段的对应关系。
Student.hbm.xml 和类文件放在一起
Student (类名).hb(Hibernate)m(mapping 映射).xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="model"> //包名
<class name="Student" table="student"> //类名 数据库表 student
<id name="id" column="id"> //在Hibernata中每一个数据库中都有一个ID 字段名 列名id
<generator class="native"/> //id是如何产生的 自动增长 数据库自己来解决
</id>
<property name="name"></property> //属性
<property name="pwd" column="pwd" type="string" length="50"></property> //长度
<property name="phone" length="50"></property>
<property name="photo" length="150"></property>
</class>
</hibernate-mapping>