更新时间:2022-09-19 16:53:23
<?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">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="org.lxh.hibernate.demo.Person" table="person" catalog="scutcs">
<id name="id" type="java.lang.String">
<column name="id" length="32" />
<generator class="assigned" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="20" not-null="true" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="20" not-null="true" />
</property>
<property name="sex" type="java.lang.String">
<column name="sex" length="2" />
</property>
<property name="email" type="java.lang.String">
<column name="email" length="30" />
</property>
</class>
</hibernate-mapping>
9.在src下新建一个类:命名为PersonOperate,最终代码为----->
package org.lxh.hibernate.demo;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
/*
* 具体操作Hibernate的类
* 增删改,按ID查询,模糊查询,查询全部
*/
public class PersonOperate {
//Hibernate中所有操作都通过Session完成
//此Session不同于JSP的Session
private Session session=null;
//构造方法中实现实例化Session对象
public PersonOperate()
{
Configuration config=new Configuration().configure();
//从配置中取得SessionFactory
SessionFactory factory=config.buildSessionFactory();
//SessionFactroy中取出一个Session
this.session=factory.openSession();
}
//所有的操作都是通过Session进行的
//向数据库中增加数据
public void insert(Person p)
{
//开始事务
Transaction tran =this.session.beginTransaction();
//执行语句
this.session.save(p);
//提交事务
tran.commit();
//关闭Session
this.session.close();
}
//修改
public void update(Person p)
{
//开始事务
Transaction tran =this.session.beginTransaction();
//执行语句
this.session.update(p);
//提交事务
tran.commit();
this.session.close();
}
//按ID查询:推荐使用HQL
public Person queryById(String id)
{
Person p=null;
//使用Hibernate查询语言
String hql="FROM Person as p WHERE p.id=?";
//通过Query接口查询
Query q=this.session.createQuery(hql);
q.setString(0, id);
List l=q.list();
java.util.Iterator iter= l.iterator();
if(iter.hasNext())
{
p=(Person)iter.next();
}
return p;
}
//删除数据
//Hibernate2,Hibernate3通用的删除
//使用此方法删除数据之前,必须先查找到数据对象
public void delete(Person p)
{
Transaction tran=this.session.beginTransaction();
//执行语句
this.session.delete(p);
//提交事务
tran.commit();
this.session.close();
}
//在Hibernate 3之中根据HQL中的语句进行了修改,增加了删除指令
public void delete(String id)
{
String hql="DELETE Person WHERE id=?";
Query q=this.session.createQuery(hql);
//把参数设置
q.setString(0, id);
//执行更新语句
q.executeUpdate();
//进行事务处理
this.session.beginTransaction().commit();
this.session.close();
}
//查询全部数据,写HQL
public List queryAll()
{
List l=null;
String hql="FROM Person as p";
Query q =this.session.createQuery(hql);
l=q.list();
return l;
}
//模糊查询
public List queryByLike(String cond)
{
List l=null;
String hql="FROM Person as p WHERE p.name like?";
Query q =this.session.createQuery(hql);
q.setString(0, "%"+cond+"%");
l=q.list();
return l;
}
}
package org.lxh.hibernate.demo;
public class TestPU {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
//生成POJO类实例化对象
Person p=new Person();
p.setId("SNNN");
p.setName("shiyangxt");
p.setPassword("shiyang");
p.setSex("女");
p.setEmail("shiyangxt@126.com");
PersonOperate po=new PersonOperate();
po.insert(p);
}
}
package org.lxh.hibernate.demo;
public class TestPO {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
//生成POJO类实例化对象
Person p=new Person();
p.setId("NNNN");
p.setName("shiyangxt");
p.setPassword("shiyang");
p.setSex("女");
p.setEmail("shiyangxt@126.com");
PersonOperate po=new PersonOperate();
po.update(p);
}
}
package org.lxh.hibernate.demo;
public class TestPD {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PersonOperate po=new PersonOperate();
Person p=po.queryById("NNNN");
po.delete(p);
}
}
package org.lxh.hibernate.demo;
public class TestPD2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
//生成POJO类实例化对象
PersonOperate po=new PersonOperate();
po.delete("SNNN");
}
}
package org.lxh.hibernate.demo;
public class TestPI {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
//生成POJO类实例化对象
PersonOperate po=new PersonOperate();
Person p=po.queryById("NNNN");
System.out.println(p.getName());
}
}
TestPK.java
package org.lxh.hibernate.demo;
import java.util.Iterator;
import java.util.List;
public class TestPK {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
//生成POJO类实例化对象
PersonOperate po=new PersonOperate();
List l=po.queryAll();
Iterator iter= (Iterator) l.iterator();
while(iter.hasNext())
{
Person p = (Person)iter.next();
System.out.println(p.getName());
}
}
}
TestPM.java
package org.lxh.hibernate.demo;
import java.util.Iterator;
import java.util.List;
public class TestPM {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
//生成POJO类实例化对象
PersonOperate po=new PersonOperate();
List l=po.queryByLike("s");
Iterator iter= (Iterator) l.iterator();
while(iter.hasNext())
{
Person p = (Person)iter.next();
System.out.println(p.getName());
}
}
}
11.搭建完成!!!
本文转自施杨博客园博客,原文链接:http://www.cnblogs.com/shiyangxt/archive/2008/07/12/1241356.html,如需转载请自行联系原作者