📄 userdaohibernateimpl.java
字号:
/**
*
*/
package org.dfbz.spring.dao;
import java.util.List;
import org.dfbz.spring.domain.User;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
* @author maboli
* @date Dec 13, 2008
*
*/
public class UserDaoHibernateImpl extends HibernateDaoSupport implements IUserDao {
public void deleteUser(int id) {
this.getHibernateTemplate().delete(new User(id));
}
public List getAllUsers() {
//直接创建hql语句
//return this.getHibernateTemplate().find("from User");
//使用映射文件中的预定义查询
return this.getHibernateTemplate().findByNamedQuery("findAll");
}
public Integer getUserIdByLogname(String logname) {
/*
String hql = "select id from User where name=:name";
List list = this.getHibernateTemplate().findByNamedParam(hql, "name", logname);
if (list.size() == 0)
return null;
else {
Object[] results = (Object[])list.get(0);
Integer id = (Integer)results[0];
return id;
}
*/
String hql = "from User where name=:name";
List list = this.getHibernateTemplate().findByNamedParam(hql, "name", logname);
//String hql = "from User where name=?";
//this.getHibernateTemplate().find(hql, logname);
if (list.size() == 0)
return null;
else {
User user = (User)list.get(0);
return user.getId();
}
}
public List getUserByLogname(String logname) {
//带一个命名参数的命名查询
return this.getHibernateTemplate()
.findByNamedQueryAndNamedParam("findUserByLogname", "name", logname);
//按照给定的Example来查询;
//User user = new User();
//user.setName(logname);
//return this.getHibernateTemplate().findByExample(user);
}
public boolean checkUser(String logname, String password) {
//命名参数的数目超过1个
/*
List list = this.getHibernateTemplate()
.findByNamedQueryAndNamedParam("loginQuery",
new String[]{"name","password"},
new Object[]{logname,password});
*/
//使用命名参数的调用方法
String hql = "from User where name=:name and password=:password";
List list = this.getHibernateTemplate().findByNamedParam(
hql,
new String[]{"name","password"},
new Object[]{logname,password});
//不使用命名参数的调用方法
//String hql = "from User where name=? and password=?";
//List list = this.getHibernateTemplate().find(
// hql, new Object[]{logname,password});
if (list.size() == 0)
return false;
else {
return true;
}
}
/* (non-Javadoc)
* @see org.dfbz.spring.dao.IUserDao#saveUser(java.lang.String, java.lang.String)
*/
public void saveUser(String name, String password) {
this.saveUser(new User(name, password));
}
/* (non-Javadoc)
* @see org.dfbz.spring.dao.IUserDao#saveUser(org.dfbz.spring.domain.User)
*/
public void saveUser(User user) {
Session session = this.getSessionFactory().openSession();
this.getHibernateTemplate().save(user);
}
/* (non-Javadoc)
* @see org.dfbz.spring.dao.IUserDao#updateUser(org.dfbz.spring.domain.User)
*/
public void updateUser(User user) {
this.getHibernateTemplate().update(user);
}
public User getUserById(Integer id) {
return (User)this.getHibernateTemplate().get(User.class, id);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -