📄 frienddaohibernateimpl.java
字号:
package com.lideedu.huang.addressBook.dao;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.lideedu.huang.addressBook.pojos.Friend;
import com.lideedu.huang.addressBook.utils.PageBean;
public class FriendDaoHibernateImpl extends HibernateDaoSupport implements
IFriendDao {
// 保存朋友信息
public void insertFriend(Friend friend) {
getHibernateTemplate().save(friend);
}
// 检测号码是否已经存在
public boolean queryFriend(String phone) {
List friends = getHibernateTemplate().find(
"from Friend as friend where friend.phone=?", phone);
if (friends.size() > 0)
return true;
else
return false;
}
// 查询朋友信息
public PageBean queryFriend(HashMap queryCondition, PageBean pageBean) {
int totalRecords = 0;
int maxResults = 0;
int firstResultIndex = 0;
List friends = new ArrayList();
Session session = getSession();
if (queryCondition == null || queryCondition.size() < 1) {
totalRecords = (Integer) session.createQuery(
"select count(*) from Friend").uniqueResult();
if (totalRecords > 0) {
pageBean.setTotalRecords(totalRecords);
if (pageBean.getCurrentPage() < 1)
pageBean.setCurrentPage(1);
else if (pageBean.getCurrentPage() > pageBean.getTotalPages())
pageBean.setCurrentPage(pageBean.getTotalPages());
firstResultIndex = pageBean.getPageSize()
* (pageBean.getCurrentPage() - 1);
maxResults = pageBean.getPageSize();
friends = session.createQuery("from Friend").setFirstResult(
firstResultIndex).setMaxResults(maxResults).list();
}
} else {
StringBuffer hqlStr = new StringBuffer();
Object[] keys = queryCondition.keySet().toArray();
for (int i = 0; i < queryCondition.size(); i++) {
hqlStr.append(" friend." + keys[i] + " like '%"
+ queryCondition.get(keys[i]) + "%'");
if (i < queryCondition.size() - 1)
hqlStr.append(" and");
}
totalRecords = (Integer) session.createQuery(
"select count(*) from Friend as friend where"
+ hqlStr.toString()).uniqueResult();
if (totalRecords > 0) {
pageBean.setTotalRecords(totalRecords);
if (pageBean.getCurrentPage() < 1)
pageBean.setCurrentPage(1);
else if (pageBean.getCurrentPage() > pageBean.getTotalPages())
pageBean.setCurrentPage(pageBean.getTotalPages());
firstResultIndex = pageBean.getPageSize()
* (pageBean.getCurrentPage() - 1);
maxResults = pageBean.getPageSize();
friends = session.createQuery(
"from Friend as friend where " + hqlStr.toString())
.setFirstResult(firstResultIndex).setMaxResults(
maxResults).list();
}
}
pageBean.setPageContent(friends);
session.close();
return pageBean;
}
// 删除朋友信息
public void deleteFriendInfo(int friendID) {
Friend friend = (Friend) getHibernateTemplate().load(Friend.class,
friendID);
getHibernateTemplate().delete(friend);
}
// 根据friendID加载Friend
public Friend queryFriend(int friendID) {
List friends = getHibernateTemplate().find(
"from Friend as friend where friend.friendID=?", friendID);
return (Friend) friends.get(0);
}
// 修改朋友信息
public void updateFriendInfo(Friend friend) {
getHibernateTemplate().update(friend);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -