hibernate HQL数据库的基本操作进行登陆验证的方法实例源码



hibernate HQL数据库的基本操作命令实例源码进行登陆验证的方法,hibernate hql增删查改实例教程。hibernate项目构建教程说明。获取操作数据库的session,取出SessionFactory。
hibernate.cfg.xml文件置于src下
获取操作数据库的session
 //寻找hibernate配置,初始化hibernate配置的管理类Configuration(),实例如下
   Configuration config = new Configuration().configure();
  //在配置中取出SessionFactory
   SessionFactory factory =config.buildSessionFactory();
  //取出一个session
   this.session = factory.openSession();
——————————————————————–
PersonDAOImpl对person数据操作的实例源码
 使用hibernate login方法对登陆验证,输入id和password来判定是否有此条记录,返回此条记录的name
以下是java源码:

package org.lmy.daos.impl ;

import java.util.Iterator;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.lmy.beans.Person;
import org.lmy.daos.PersonDAO;

public class PersonDAOImpl implements PersonDAO
{
// 构造方法实例化session对象
public PersonDAOImpl()
{
// 找到Hibernate配置文件
Configuration config = newConfiguration().configure() ;
//在配置中取出hibernate SessionFactory
SessionFactory factory =config.buildSessionFactory() ;
//在SessionFactory中取出一个Session
this.session =factory.openSession() ;
}
//进行登陆验证的方法
public boolean login(Person person) throwsException
{
boolean flag = false ;
try {
String hql =”FROM Person p WHERE p.id= :id and p.password= :password” ;
Query q =this.session.createQuery(hql) ;
q.setParameter(“id”,person.getId());
q.setParameter(“password”,person.getPassword());
List l =q.list() ;
Iterator iter= l.iterator() ;
if(iter.hasNext())
{
flag= true;
Personp = (Person)iter.next();
System.out.println(p.getName());
person.setName(p.getName());
}
} catch (RuntimeException e){
e.printStackTrace();
}
return flag ;
}
private Session session = null ;

// 所有的操作都是通过session进行的
// 向数据库中增加数据
public void insert(Person p)
{
// 开始session事务
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() ;
// 执行HQL语句
this.session.update(p) ;
// 提交事务
tran.commit() ;
}


// 按ID查询:推荐使用HQL Hibernate官方推荐的查询语言
public Person queryById(String id)
{
Person p = null ;
// 使用Hibernate HQL查询语言
String hql = “FROM Person as pWHERE p.id=?” ;
// 通过Query接口查询数据库
Query q =this.session.createQuery(hql) ;
q.setString(0,id) ;
List l = q.list() ;
Iterator iter = l.iterator();
if(iter.hasNext())
{
p =(Person)iter.next() ;
}
return p ;
}

// hibernate hql删除数据
// Hibernate2、Hibernate 3 通用的删除
//此方法删除数据前,一定要先查找到数据对象,性能呢?
public void delete(Person p)
{
Transaction tran =this.session.beginTransaction() ;
// 执行HQL语句
this.session.delete(p) ;
// 提交事务
tran.commit() ;
}

// 在Hibernate3之中HQL中的语句进行了修改,增加了删除指令
public void delete(String id)
{
String hql = “DELETE PersonWHERE id=?” ;
Query q =this.session.createQuery(hql) ;
// 把参数设置
q.setString(0,id) ;
// 执行更新语句
q.executeUpdate() ;
// 进行事务处理
this.session.beginTransaction().commit();
}

// 查询全部数据,写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 pWHERE p.name like ?” ;
Query q =this.session.createQuery(hql) ;
q.setString(0,”%”+cond+”%”);
l = q.list() ;
return l ;
}
}

以上就是hibernate框架增删查改数据库操作的实例,希望可以给你带来帮助!