<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">一、创建Web项目,导入Hibernate3核心包和依赖包</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">
</span>
二、创建数据库huserdb和表user
三、增加与user表相对应的java实体类User
package ch03.hibernate;
public class User {
private int id;
private String username;
private String password;
private String email;
/**
* @return the id
*/
public int getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(int id) {
this.id = id;
}
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @param username the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return the email
*/
public String getEmail() {
return email;
}
/**
* @param email the email to set
*/
public void setEmail(String email) {
this.email = email;
}
}
编写要点:user表中的字段对应java实体类User中的成员变量;字段与成员变量的数据类型必须一致;成员变量的个数必须≥字段个数;字段的名字和成员变量的名字可以相同,也可以不同(表名与对应类名也是如此),建议尽可能相同(不容易出错);与字段对应的成员变量必须有get/set方法。
四、编写表user与类User的对应关系配置文件User.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="ch03.hibernate.User" table="myusertable">
<id name="id">
<generator class="identity"/>
</id>
<property name="username"/>
<property name="password"/>
<property name="email"/>
</class>
</hibernate-mapping>
编写要点:文件名前缀与对应类名一致;文件名后缀为.hbm.xml(固定);文件存放的位置与对应的类存放在一起(同个包中)
五、增加hibernate的全局配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- mysql数据库驱动 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- mysql数据库名称 -->
<property name="connection.url">jdbc:mysql://localhost:3306/Myproject</property>
<!-- 数据库的登陆用户名 -->
<property name="connection.username">root</property>
<!-- 数据库的登陆密码 -->
<property name="connection.password">123</property>
<!-- 方言:为每一种数据库提供适配器,方便转换 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 映射资源 -->
<span style="color:#ff0000;"><mapping resource="ch03/hibernate/User.hbm.xml"/> </span>
</session-factory>
</hibernate-configuration>
六、使用hibernate框架代码实现增删查改的功能。
测试类Test.java
package ch03.hibernate;
import org.hibernate.*;
import org.hibernate.cfg.*;
public class Test {
public static void main(String[] args) {
try{
//常见session工厂
SessionFactory sf=new Configuration().configure().buildSessionFactory();
//获取session实例
Session session=sf.openSession();
//开始事务
Transaction tx=session.beginTransaction();
//创建一个User对象
User user=new User();
user.setUsername("Tina");
user.setPassword("123");
user.setEmail("tina@163.com");
//调用save()方法保存user实例到数据库
session.save(user);
//提交事务
tx.commit();
session.close();
}
catch(HibernateException e){
e.printStackTrace();
}
}
}