treeviewdaoimpl.java
来自「基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰」· Java 代码 · 共 360 行
JAVA
360 行
package com.yuanchung.organize.treeview;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.yuanchung.organize.treeview.TreeviewDAO;
import com.yuanchung.sales.exception.SystemException;
import com.yuanchung.sales.model.Position;
import com.yuanchung.sales.model.Treeview;
import com.yuanchung.sales.model.admin.position.UserPosition;
import com.yuanchung.sales.model.user.User;
public class TreeViewDaoImpl extends HibernateDaoSupport implements TreeviewDAO {
private static Logger logger = Logger.getLogger(TreeViewDaoImpl.class);
// 根据父结点主键查找
public Treeview findByParentId(int parentID) throws SystemException {
return (Treeview) getHibernateTemplate().find(
"from Treeview as t where t.parentId=?", parentID).get(0);
}
// 根据父结点取得所有子结点
public List getAllTreeByParentId(int parentId) throws SystemException {
return getHibernateTemplate().find(
"from Treeview as t where t.parentId=?", parentId);
}
// 根据主键查找结点
public Treeview findById(int id) throws SystemException {
return (Treeview) getHibernateTemplate().get(Treeview.class, id);
}
// 根据树结点查找用户
public List getUserByTreeview(Treeview treeview) throws SystemException {
System.out.println("结点ID:" + treeview.getId());
// 添加 u.deleteFlag != 1 and by 张明强 过滤掉被删除的用户
return getHibernateTemplate().find(
"from User as u where u.deleteFlag != 1 and u.treeview=?",
treeview);
}
// 根据用户查找岗位
public UserPosition getUserPositionByUser(User user) throws SystemException {
return (UserPosition) getHibernateTemplate().find(
"from UserPosition as up where up.user=?", user).get(0);
}
// 保存岗位,保存岗位表
public void addPosition(Position position) throws SystemException {
getHibernateTemplate().save(position);
}
// 根据岗位名称和部门模糊查找
public List findPositionLike(int treeviewId, String positionName)
throws SystemException {
return getHibernateTemplate().find(
"from Position as p where p.treeview.id=? and p.positionName like '%"
+ positionName + "%'", treeviewId);
}
// 根据部门查找岗位
public List getPositionByDeptId(int deptId, int isLeader)
throws SystemException {
return getHibernateTemplate().find(
"from Treeview as t where t.parentId=? and t.isLeader!=?",
new Object[] { deptId, isLeader });
}
// 根据岗位ID查找岗位
public Position getPositionById(int positionId) throws SystemException {
return (Position) getHibernateTemplate()
.get(Position.class, positionId);
}
// 更新用户---岗位
public void updateUserPosition(UserPosition userPosition)
throws SystemException {
getHibernateTemplate().update(userPosition);
}
// 根据用户和岗位查找用户---岗位
public UserPosition getUserPositionByUserAndPosition(User user)
throws SystemException {
try {
return (UserPosition) getHibernateTemplate().find(
"from UserPosition as up where up.user=? ", user).get(0);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 根据ID查找用户
public User getUserById(int userId) throws SystemException {
return (User) getHibernateTemplate().get(User.class, userId);
}
// 更新用户
public void updateUser(User user) throws SystemException {
getHibernateTemplate().saveOrUpdate(user);
}
// 根据岗位查找用户
public User getUserByPosition(Position position) throws SystemException {
return (User) getHibernateTemplate().find(
"select up.user from UserPosition as up where up.position=?",
position).get(0);
}
// 更新节点
public void updateTreeview(Treeview treeview) throws SystemException {
getHibernateTemplate().update(treeview);
}
// 新增组织
public void saveTreeview(Treeview treeview) throws SystemException {
getHibernateTemplate().save(treeview);
}
// 删除节点
public void deleteTreeview(Treeview treeview) throws SystemException {
this.getHibernateTemplate().delete(treeview);
}
// 查找所有的部门
public List<Treeview> getTreeViewToDept() throws SystemException {
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createSQLQuery(
"select * from treeview t where 1=1 and isLeader=0")
.addEntity(Treeview.class);
List<Treeview> list = query.list();
return list;
}
});
}
// 根据子节点ID查找父节点
public Treeview getParentByChild(int childNodeId) throws SystemException {
try {
return (Treeview) getHibernateTemplate().get(Treeview.class,
childNodeId);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 根据部门ID和岗位ID查找节点
public Treeview findTreeviewByDeptIdAndPositionName(int deptId,
String positionName) throws SystemException {
try {
return (Treeview) getHibernateTemplate().find(
"from Treeview as t where t.parentId=? and t.name=?",
new Object[] { deptId, positionName }).get(0);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
// 根据姓名查找用户
public List getUserByFamilyName(String familyName) throws SystemException {
try {
return getHibernateTemplate().find(
"from User as u where u.familyName like '" + familyName
+ "'");
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
// 根据节点和姓名查找用户
public List getUserByTreeviewAndName(Treeview treeview, String familyName)
throws SystemException {
try {
return getHibernateTemplate().find(
"from User as u where u.familyName like '" + familyName
+ "' and u.treeview=?", treeview);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
// 根据部门ID和岗位名称查找唯一岗位
public Position findPositionByNameAndDeptId(String positionName, int deptId)
throws SystemException {
try {
return (Position) getHibernateTemplate()
.find(
"from Position as p where p.positionName=? and p.treeview.id=?",
new Object[] { positionName, deptId }).get(0);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
// 删除岗位
public void deleteUser(User user) throws SystemException {
try {
getHibernateTemplate().delete(user);
} catch (Exception e) {
e.printStackTrace();
}
}
// 更新岗位名称
public void updatePosition(Position position) throws SystemException {
try {
getHibernateTemplate().update(position);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 根据父部门节点ID查找所有子部门节点
*
* @param parentId
* @return List<Treeview>
* @throws SystemException
*/
public List<Treeview> getSubDeptByParentId(int parentId)
throws SystemException {
String hql = "From Treeview t Where t.parentId = " + parentId;
// 只查找出部门 isLeader = 0 代表部门
hql = hql + " and isLeader = 0";
List<Treeview> treeviews = this.getHibernateTemplate().find(hql);
return treeviews;
}
/**
* 根据父节点ID查找所有子节点ID
*
* @param parentId
* @return
* @throws SystemException
*/
public List<Treeview> findChildIdsByParentId(int parentId) {
String hql = "From Treeview t Where t.parentId = " + parentId;
List treeviewIds = this.getHibernateTemplate().find(hql);
return treeviewIds;
}
/**
* 查询出所有的用户 author:张明强 time:2009-01-20
*
* @return
*/
public List<TreeviewVo> findAllUser() {
List<TreeviewVo> tvList = new ArrayList<TreeviewVo>();
String hql = "From User u Where u.deleteFlag != 1"; // 去掉删除的用户
tvList = this.getHibernateTemplate().find(hql);
return tvList;
}
/**
* 通过deptID获取treeview对象集合
* author:张明强
* time:2009-01-22
*/
public List<Treeview> findTreeViewByDeptID(int deptID) {
List<Treeview> tvList = new ArrayList<Treeview>();
String hql = "From Treeview tv Where tv.parentId = " + deptID;
tvList = this.getHibernateTemplate().find(hql);
return tvList;
}
/**
* 通过deptID和岗位名称获取treeview对象集合
* author:张明强
* time:2009-01-22
*/
public List<Treeview> findByDeptIDAndPositionName(int deptID,
String positionName) {
List<Treeview> tvList = new ArrayList<Treeview>();
String hql = "From Treeview tv Where tv.parentId = '" + deptID
+ "' AND tv.name = '" + positionName + "'";
tvList = this.getHibernateTemplate().find(hql);
return tvList;
}
/**
* 根据deptID,岗位以及姓名查询 treeview对象集合
* author:张明强
* time:2009-01-22
*/
public List<Treeview> findByAllPara(final int deptID,
final String positionName, final String familyName)
throws SystemException {
logger.debug("开始果果");
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session
.createSQLQuery(
"select t.* from treeview t,user u where u.treeview_Id = t.Id and u.familyName like '%"
+ familyName
+ "%' and t.ParentId = '"
+ deptID
+ "' and t.name = '"
+ positionName
+ "' and u.deleteFlag != 1 ")
.addEntity(Treeview.class);
List<Treeview> list = query.list();
return list;
}
});
}
/**
* 根据deptID和姓名查找treeview集合
* author:张明强
* time:2009-01-22
*/
public List<Treeview> findByDeptIDAndFamilyName(final int deptID,final String familyName)
throws SystemException {
logger.debug("开始果果");
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session
.createSQLQuery(
"select t.* from treeview t,user u where u.treeview_Id = t.Id and u.familyName like '%"
+ familyName
+ "%' and t.ParentId = '"
+ deptID
+ "' and u.deleteFlag != 1 ")
.addEntity(Treeview.class);
List<Treeview> list = query.list();
return list;
}
});
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?