Hibernate HQL
/*****************登陆****************************/
public boolean userLogin(String username, String password) {
boolean flag = false;
try {
session = HibernateSessionFactory.getSession();
query = session
.createQuery("select info.username,info.password from Userinfo as info where info.username = ? and info.password =?");
query.setString(0, username);
query.setString(1, password);
Iterator it = query.iterate();
if (it.hasNext()) {
flag = true;
}
} catch (HibernateException e) {
e.printStackTrace();
} finally {
HibernateSessionFactory.closeSession();
}
return flag;
}
/*****************查询所有****************************/
public List selectAll() {
List alist = new ArrayList();
try {
session = HibernateSessionFactory.getSession();
query = session
.createQuery("select info.stuid, info.stuname,info.address from Stuinfo as info");
alist = query.list();
} catch (HibernateException e) {
e.printStackTrace();
} finally {
HibernateSessionFactory.closeSession();
}
return alist;
}
/*****************插入****************************/
public boolean infoAdd(int stuid, String stuname, String address) {
boolean flag = false;
try {
session = HibernateSessionFactory.getSession();
trans = session.beginTransaction();
Stuinfo info = new Stuinfo();
info.setStuid(new Long(stuid));
info.setStuname(stuname);
info.setAddress(address);
session.save(info);
trans.commit();
flag = true;
} catch (HibernateException e) {
e.printStackTrace();
trans.rollback();
flag = false;
} finally {
HibernateSessionFactory.closeSession();
}
return flag;
}
/*****************更新****************************/
public boolean updateInfo(int stuid, String stuname, String address) {
boolean flag = false;
try {
session = HibernateSessionFactory.getSession();
trans = session.beginTransaction();
StuinfoDAO dao = new StuinfoDAO();
Stuinfo info = new Stuinfo();
info = dao.findById(new Long(stuid));
info.setStuname(stuname);
info.setAddress(address);
dao.save(info);
trans.commit();
flag = true;
} catch (HibernateException e) {
e.printStackTrace();
trans.rollback();
flag = false;
} finally {
HibernateSessionFactory.closeSession();
}
return flag;
}
/*****************更新2****************************/
ransaction tx = null
try
{
tx = session.beginTransaction();
String hql = "update Student s set s.name = '22' where s.id = 11";
Query query = session.createQuery(hql);
query.executeUpdate();
tx.commit()
tx = null;
}catch(Exception e)
{
e.printStackTrace();
if(tx !=null)
{
tx.rollback(); //失败则回滚
}
}
finally
{
session.close();
}
/*****************删除****************************/
public boolean deleteInfo(int stuid) {
boolean flag = false;
try {
session = HibernateSessionFactory.getSession();
trans = session.beginTransaction();
Stuinfo info = new Stuinfo();
StuinfoDAO dao = new StuinfoDAO();
info = dao.findById(new Long(stuid));
dao.delete(info);
trans.commit();
flag = true;
} catch (HibernateException e) {
e.printStackTrace();
trans.rollback();
flag = false;
} finally {
HibernateSessionFactory.closeSession();
}
return flag;
}
/*****************删除2****************************/
Session session = HibernateSessionFactory.currentSession(); // 创建SESSION
Transaction tx = null //声明事务
try
{
tx = session.beginTransaction(); //开始事务
String hql = "delete Student s where s.name = 'googol' ";
Query query = session.createQuery(hql);
query.executeUpdate();
tx.commit() //一定要提交
tx = null;
}catch(Exception e)
{
e.printStackTrace();
if(tx !=null)
{
tx.rollback(); //失败则回滚
}
}
finally
{
session.close();
}
/************************跳转*************************/
response.getWriter().write("<script>alert('register ok')</script>");
response.getWriter().write("<script>window.location.href='form/loginAction.jsp'</script>");
PS: response.sendRedrecter方法比alert 先执行 因为response在服务器alert属于客户端方法
故在alert执行之前先执行跳转 从而alert则不会被执行(执行前已经跳转)
故把跳转操作放到客户端
/************************************************************增删查改DAO*********************************************************************/
/*********************************************************************************************************************************/
package Dao;
import java.util.Iterator;
import hiber.HibernateSessionFactory;
import hiber.Userinfo;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class LoginDao {
Session session = null;
Transaction tx = null;
Query query = null;
// login
public boolean loginUser(String userName, String passWord) {
boolean f = false;
try {
String hql = "select info from Userinfo as info where info.username = ? and info.password = ?";
query = session.createQuery(hql);
query.setString(0, userName);
query.setString(1, passWord);
Iterator it = query.iterate();
if (it.hasNext()) {
f = true;
} else {
f = false;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
return f;
}
// insert
public boolean insertUsers(String userName, String passWord) {
boolean f = false;
try {
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
Userinfo info = new Userinfo();
info.setUsername(userName);
info.setPassword(passWord);
session.save(info);
tx.commit();
f = true;
} catch (Exception e) {
f = false;
tx.rollback();
e.printStackTrace();
} finally {
session.close();
}
return f;
}
// delete
public boolean deleteUser(String userName) {
boolean f = false;
try {
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
String hql = "delete Userinfo info where userName = '" + userName
+ "'";
query = session.createQuery(hql);
query.executeUpdate();
// query.setString(0, userName);
tx.commit();
f = true;
} catch (Exception e) {
tx.rollback();
e.printStackTrace();
} finally {
session.close();
}
return f;
}
//update
public boolean updateUser(String userName, String passWord) {
boolean f = false;
try {
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
String hql = "update Userinfo info set info.password = '"+ passWord + "' where info.username = '" + userName + "' ";
query = session.createQuery(hql);
query.executeUpdate();
tx.commit();
f = true;
} catch (Exception e) {
tx.rollback();
e.printStackTrace();
} finally {
}
return f;
}
}