Hibernate快速入门:
1.概述:
a) Hibernate 是一个ORM框架(Object-Realtion-Mapping),主要作用是简化应用的数据,持久层编程,不需要编程人员花大量的时间编写SQL和JDBC代码
b) Hibernate框架主要作用是简化应用的数据持久化编程。
c) 掌握Hibernate框架需要掌握以下三个方面
1.持久化对象(persistent Object) :实体类
2.Hibernate的配置文件:hibernate.properties和hibernate.cfg.xml
3.Hibernate的映射文件:xml Mapping
好了,现在我们开始第一个HelloWorld程序
1.导入相应的jar包:
找到hibernate core包,\required下的所有,slf-nop.jar, \bytecode\cglib\cglib.jar和mysql的JDBC驱动包
2.创建一个实体类PO User
package com.test.po;
public class User {
private int id;
private String username;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
3.配置hibernate.cfg.xml(放在src下就OK)
<session-factory>
<property name="myeclipse.connection.profile">Mysql</property>
<property name="connection.url">jdbc:mysql:///hibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="dialect">
org.hibernate.dialect.MySQL5Dialect
</property>
<property name="format_sql">true</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
</session-factory>
4.配置User.hbm.xml文件(路径是跟你的User类一起)
<hibernate-mapping package="com.test.po">
<class name="User" table="t_user">
<id name="id">
<generator class="native"/>
</id>
<property name="username" />
<property name="age" />
</class>
</hibernate-mapping>
5.把映射文件加入到hibernate.cfg.xml文件中
<mapping resource="com/test/po/User.hbm.xml" />
6.测试(自动创建表)
//读取配置文件,默认读取的是properties版本的配置文件,
//如果要读取xml版本的配置文件则需要调用configure()方法
Configuration cfg = new Configuration().configure();
//创建生成DDL的工具类
SchemaExport se = new SchemaExport(cfg);
//调用创建表格的方法
se.create(true, true);
这样就可以在控制台上看到打印的sql创建表的语句了,并在mysql数据库中已经创建好了t_user表。
总结:Hibernate帮你封装好了对数据库的操作,不需要开发人员对数据库的操作了。这样可以大大的提高效率,并且可以充分的体现Java的面向对象的思想(数据库是面向关系型的开发)。