实现ORM框架的入门实例
什么是ORM
orm:完成对象数据到关系型数据映射的机制称为对象关系映射,简称ORM。
什么是对象持久化
实体域对象(也称为POJO,Plain Ordinary Java Object)创建于内存中,其维持的数据需要持久存储,以备将来加载使用。
“对象持久化”就是把实体域对象永久保存起来。
Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JavaEE架构中取代CMP,完成数据持久化的重任。
使用Hibernate实现用户添加
三个准备七个步骤:
准备1:导入Hibernate库(jar包)
下载网站: http://sourceforge.net/projects/hibernate/files/
导入jar包
准备2:添加配置文件 – hibernate.cfg.xml
<hibernate-configuration>
<session-factory>
<property name = "hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name = "hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name = "hibernate.connection.url">jdbc:mysql://localhost:3306/hellohibernate</property>
<property name = "hibernate.connection.username">root</property>
<property name = "hibernate.connection.password">abc123456</property>
<property name = "show_sql">true</property>
<mapping resource="cn/hrbust/pojo/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
创建数据库表:
准备3:添加实体类和映射文件
(1)映射文件
<hibernate-mapping >
<class name="cn.hrbust.pojo.User" table="T_USER">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="gender"/>
<property name="age"/>
<property name="birthday"/>
</class>
</hibernate-mapping>
(2)实体类
public class User {
private int id;
private String name;
private String gender;
int age;
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 getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
Date birthday;
}
使用Hibernate实现用户添加
public class manageUser {
public static void main(String[] args){
Configuration cfg =null;
SessionFactory sf =null;
Session session = null;
Transaction ts = null;
User u = new User();
u.setName("张恒");
u.setGender("男");
u.setAge(21);
u.setBirthday(Date.valueOf("1999-7-28"));
try {
cfg =new Configuration().configure();
sf =cfg.buildSessionFactory();
session = sf.openSession();
ts = session.beginTransaction();
session.save(u);
ts.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
if(ts !=null){
ts.rollback();
}
}finally{
session.close();
sf.close();
}
}
}
运行效果图:
数据如下: