Hibernate 的所有操作都基于Session进行的,增、删、改、查都是通过Session完成的。
Hibernate 最基础的内容包括以下内容:
1. 一个主配置文件,hibernate.cfg.xml ,最基本的内容如下:
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="myeclipse.connection.profile">Oracle Conn</property> <property name="connection.url">jdbc:mysql://localhost:3306/vvop?useUnicode=true&characterEncoding=UTF-8</property> <property name="connection.username">root</property> <property name="connection.password">123456</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <mapping resource="net/kentop/testhibernate/demo01/Titem.hbm.xml"></mapping> </session-factory> </hibernate-configuration>
2. 一个Pojo 类, 内容如下:
package net.kentop.testhibernate.demo01;
public class User {
private String id;
private String name;
private String sex;
private Integer age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
3. 一个Pojo类的描述文件
<?xml version="1.0" encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <!-- DO NOT EDIT: This is a generated file that is synchronized --> <!-- by MyEclipse Hibernate tool integration. --> <!-- Created Mon Dec 18 19:38:27 CST 2006 --> <hibernate-mapping package="net.kentop.testhibernate.demo01"> <class name="User" table="user"> <id name="id" column="id" type="string"> <generator class="uuid.hex" /> </id> <property name="name" column="name" type="string" not-null="true" /> <property name="sex" column="sex" type="string" /> <property name="age" column="age" type="int" /> </class> </hibernate-mapping>
4. 一个进行增\删\改\查的操作类
package net.kentop.testhibernate.demo01;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class UserOpera {
private Session session;
public UserOpera() {
Configuration config = new Configuration().configure();
SessionFactory factory = config.buildSessionFactory();
this.session = factory.openSession();
}
public void insert(User user) {
session.save(user);
this.session.beginTransaction().commit();
this.session.close();
}
public void insertUsers(ArrayList<User> users) {
int i = 0;
for(User user:users ) {
session.save(user);
i ++;
if(i % 3 == 0) {
session.beginTransaction().commit();
}
}
session.beginTransaction().commit();
}
public User getUserById(String id) {
User user = null;
String hql = "from User where id=?";
Query query = this.session.createQuery(hql);
query.setString(0, id);
List l = query.list();
Iterator iter = l.iterator();
while(iter.hasNext()) {
user = (User)iter.next();
}
return user;
}
public void deleteById(String id) {
String hql = "delete User where id=?";
Query q = this.session.createQuery(hql);
q.setString(0, id);
q.executeUpdate();
this.session.beginTransaction().commit();
}
public List getAllUser() {
String hql = "from User";
Query q = session.createQuery(hql);
return q.list();
}
}
上面就是全部的内容,然后再写一个测试类就是了。