hibernate手写sql返回封装到指定的bean中

写一个bean

package ouc.sei.sdcstta.bean;

import java.util.Date;





public class ExcelInfo {
	//姓名
	private String realname;
	//性别
	private Integer gender;
	//证书编号
	private String certificateId;
	//证书有效期
	private Date certifateDate;
	//省证类别
	private String provinceMajorName;
	//国证类别
	private String countryMajorName;
	//企业名称
	private String comName;
	//企业联系人
	private String comLinkPerson;
	//企业联系电话
	private String comLinkPhone;
	//订单编号
	private String orderNumber;
	//学习状态
	private String learnStatus;
	public String getRealname() {
		return realname;
	}
	public void setRealname(String realname) {
		this.realname = realname;
	}
	public Integer getGender() {
		return gender;
	}
	public void setGender(Integer gender) {
		this.gender = gender;
	}
	public String getCertificateId() {
		return certificateId;
	}
	public void setCertificateId(String certificateId) {
		this.certificateId = certificateId;
	}
	public Date getCertifateDate() {
		return certifateDate;
	}
	public void setCertifateDate(Date certifateDate) {
		this.certifateDate = certifateDate;
	}
	public String getProvinceMajorName() {
		return provinceMajorName;
	}
	public void setProvinceMajorName(String provinceMajorName) {
		this.provinceMajorName = provinceMajorName;
	}
	public String getCountryMajorName() {
		return countryMajorName;
	}
	public void setCountryMajorName(String countryMajorName) {
		this.countryMajorName = countryMajorName;
	}
	public String getComName() {
		return comName;
	}
	public void setComName(String comName) {
		this.comName = comName;
	}
	public String getComLinkPerson() {
		return comLinkPerson;
	}
	public void setComLinkPerson(String comLinkPerson) {
		this.comLinkPerson = comLinkPerson;
	}
	public String getComLinkPhone() {
		return comLinkPhone;
	}
	public void setComLinkPhone(String comLinkPhone) {
		this.comLinkPhone = comLinkPhone;
	}
	public String getOrderNumber() {
		return orderNumber;
	}
	public void setOrderNumber(String orderNumber) {
		this.orderNumber = orderNumber;
	}
	public String getLearnStatus() {
		return learnStatus;
	}
	public void setLearnStatus(String learnStatus) {
		this.learnStatus = learnStatus;
	}
	
}

dao层代码



package ouc.sei.sdcstta.dao.order;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.apache.commons.lang.StringUtils;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import ouc.sei.sdcstta.bean.EnrollForm;
import ouc.sei.sdcstta.bean.ExcelInfo;
import ouc.sei.sdcstta.bean.OrderCountBean;
import ouc.sei.sdcstta.bean.page.QueryResult;
import ouc.sei.sdcstta.dao.BaseDAO;

@Repository
public class EnrollFormDAO extends BaseDAO<EnrollForm>{
	@Resource
	private SessionFactory sessionFactory;
	public List<ExcelInfo> findExcelInfo(Long learnClassId) {
		String sql = "SELECT student.realname,userbase.gender,student.certificateId,student.certificateValidity as certifateDate,major.`name` as provinceMajorName,newmajor.`name` as countryMajorName,company.companyName as comName,company.contact as comLinkPerson,company.contactPhone as comLinkPhone,enrollform.orderNumber,orderstatus.statusDetail as learnStatus FROM student,company,major,major as newmajor,enrollform,userbase,orderstatus WHERE student.id = userbase.id and student.id = enrollform.student_id and student.company_id = company.id and student.major_id = major.id and student.newmajor_id = newmajor.id and enrollform.status_id= orderstatus.pid and enrollform.class_id = ? and enrollform.status_id != 12;";
		Session session = sessionFactory.getCurrentSession();
		Query query = session.createSQLQuery(sql);
		query.setLong(0, learnClassId);
	
	//强制转换
		query.setResultTransformer(org.hibernate.transform.Transformers.aliasToBean(ExcelInfo.class));
		List<ExcelInfo> excelInfos = query.list();
		return excelInfos;
	}

}

注意: dao层中手写的sql语句返回的名字要和bean中对应起来,搜索出来的是一个Object类型的List,一定要强制转换为对应的bean,这里不进行转换会报错。返回的字段类型最好对应起来,比如gender字段数据库中为int,返回bean中也要int,还有Date的。


qq交流群:
483442400
公众号:
share15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值