⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userorderhibernatedaoimpl.java

📁 基于Ajax+Spring+Hibernate开发的个性化定制系统源代码
💻 JAVA
字号:
package com.individaution.dao.hibernate;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.individaution.bean.Subject;
import com.individaution.bean.User;
import com.individaution.bean.UserOrder;
import com.individaution.business.service.SubjectServiceImpl;
import com.individaution.business.service.UserServiceImpl;
import com.individaution.dao.IUserOrderDAO;
import com.individaution.resource.AppContext;

public class UserOrderHibernateDAOImpl extends HibernateDaoSupport implements
		IUserOrderDAO {

	private static final SubjectServiceImpl ssi = (SubjectServiceImpl) AppContext
			.getInstance().getAppContext().getBean("subjectService");

	private static final String LOAD_USERORDERINFO_BYUSER = "from UserOrder userOrder where userOrder.user=?";

	private static final String LOAD_USERORDERINFOLEFT_BYUSER = "from UserOrder userOrder where userOrder.display='0' and userOrder.user=?";

	private static final String LOAD_USERORDERINFORIGHT_BYUSER = "from UserOrder userOrder where userOrder.display='1' and userOrder.user=?";

	private static final String LOAD_USERORDERINFO_BYUID_SID = "from UserOrder userOrder where userOrder.tbUserInfo=? and userOrder.subject=?";

	public UserOrderHibernateDAOImpl() {

	}

	public UserOrder getUserOrderById(Long id) {
		try {
			return (UserOrder) getHibernateTemplate().get(
					UserOrder.class, id);
		} catch (DataAccessException ex) {
			return null;
		}
	}

	public List getUserOrderListByUser(User tui) {
		List l = (List) getHibernateTemplate().find(LOAD_USERORDERINFO_BYUSER,
				tui);

		if (l.size() == 0) {
			return null;
		} else {
			System.out.println("size====" + l.size());
			return (ArrayList) l;
		}
	}

	public UserOrder addUserOrder(UserOrder uoi) {
		try {
			getHibernateTemplate().save(uoi);
			this.getHibernateTemplate().flush();
			return uoi;
		} catch (DataAccessException ex) {
			ex.printStackTrace();
			return null;
		}
	}

	public List getUserOrderedSubject(User tui) {
		List userOrderList = getUserOrderListByUser(tui);

		List subject = new ArrayList();

		if (userOrderList == null)
			return subject;

		Iterator it = userOrderList.iterator();
		while (it.hasNext()) {
			subject.add(((UserOrder) it.next()).getSubject());
		}

		if (subject.size() == 0) {
			return null;
		} else {
			return (ArrayList) subject;
		}
	}

	public List getUserOrderLeftListByUser(User tui) {
		List l = (List) getHibernateTemplate().find(
				LOAD_USERORDERINFOLEFT_BYUSER, tui);
		if (l.size() == 0) {
			return new ArrayList();
		} else {
			return (ArrayList) l;
		}
	}

	public boolean saveUserOrder(List subjectList, User tui) {

		Connection conn = this.getSession().connection();

		// 请用户修改,自己改为jdbc连接处理批量更新;
		deleteUserOrderByUser(tui);

		String insertSql = "insert into user_order_info set SUBJECTID=? ,USERID=?";

		try {
			java.sql.PreparedStatement smt = conn.prepareStatement(insertSql);
		} catch (SQLException e) {
			// TODO 自动生成 catch 块
			e.printStackTrace();
		}

		Iterator it = subjectList.iterator();
		Subject subject = new Subject();
		UserOrder uoi = new UserOrder();
		while (it.hasNext()) {
			subject = ssi.getSubjectById((String) it.next());
			uoi.setSubject(subject);
			uoi.setUser(tui);
			addUserOrder(uoi);
		}

		return false;
	}

	public List getUserOrderRightListByUser(User tui) {
		List l = (List) getHibernateTemplate().find(
				LOAD_USERORDERINFORIGHT_BYUSER, tui);

		if (l.size() == 0) {
			return null;
		} else {
			return (ArrayList) l;
		}
	}

	public boolean deleteUserOrderByUser(User tui) {
		List uoiList = getUserOrderListByUser(tui);
		if (uoiList != null) {
			Iterator it = uoiList.iterator();
			while (it.hasNext()) {
				getHibernateTemplate().delete((UserOrder) it.next());
			}
		}
		return true;
	}

	public UserOrder findUserOrderByUserAndSubject(Long uid, String sid) {
		SubjectServiceImpl ssi = (SubjectServiceImpl) AppContext.getInstance()
				.getAppContext().getBean("subjectService");

		UserServiceImpl tii = (UserServiceImpl) AppContext
				.getInstance().getAppContext().getBean("tbUserInfoService");

		User tbi = tii.findUserById(uid);

		Subject sub = ssi.getSubjectById(sid);

		Object[] values = { tbi, sub };
		List l = getHibernateTemplate().find(LOAD_USERORDERINFO_BYUID_SID,
				values);
		if (l.size() == 0) {
			return null;
		} else {
			return (UserOrder) l.get(0);
		}
	}

	public void deleteUserOrderById(Long id) {
		UserOrder uoi = (UserOrder) this.getUserOrderById(id);

		try {
			this.getHibernateTemplate().delete(uoi);

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public SubjectServiceImpl getSubjectServiceImp() {
		return ssi;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -