`
chaoyi
  • 浏览: 290901 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Hibernate entity和test和dao和biz

 
阅读更多

如图所示:

 

实体类:MembersInfo

package entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * MembersInfo 实体类及注解
 */
@Entity
@Table
public class MembersInfo {
	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="seq_membersinfo")
	@SequenceGenerator(sequenceName="seq_membersinfo",name="seq_membersinfo",initialValue=1,allocationSize=1)
	private int mid;//会员编号
	@Column
	private String mname;//会员姓名
	@Column
	private String mgender;//会员性别
	@Column
	private int mage;//会员年龄
	@Column
	private String maddress;//家庭住址
	@Column
	private String memail;//电子邮件
	/*
	 * 构造方法
	 * */
	public MembersInfo() {
	}
	public MembersInfo(String mname, String mgender, int mage, String maddress,
			String memail) {
		this.mname = mname;
		this.mgender = mgender;
		this.mage = mage;
		this.maddress = maddress;
		this.memail = memail;
	}
	public MembersInfo(int mid, String mname, String mgender, int mage,
			String maddress, String memail) {
		this.mid = mid;
		this.mname = mname;
		this.mgender = mgender;
		this.mage = mage;
		this.maddress = maddress;
		this.memail = memail;
	}

	/*
	 * 封装方法
	 * */
	public int getMid() {
		return mid;
	}
	public void setMid(int mid) {
		this.mid = mid;
	}
	public String getMname() {
		return mname;
	}
	public void setMname(String mname) {
		this.mname = mname;
	}
	public String getMgender() {
		return mgender;
	}
	public void setMgender(String mgender) {
		this.mgender = mgender;
	}
	public int getMage() {
		return mage;
	}
	public void setMage(int mage) {
		this.mage = mage;
	}
	public String getMaddress() {
		return maddress;
	}
	public void setMaddress(String maddress) {
		this.maddress = maddress;
	}
	public String getMemail() {
		return memail;
	}
	public void setMemail(String memail) {
		this.memail = memail;
	}
}

 

 

测试类:Test

package test;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import entity.MembersInfo;

import util.HibernateSessionFactory;

public class Test {
	public static void main(String[] args) {
		/*
		 * List<MembersInfo> membersInfos = getMembersInfoByPage(2, 3); for
		 * (MembersInfo membersInfo : membersInfos) {
		 * System.out.println(membersInfo
		 * .getMid()+" "+membersInfo.getMaddress()); }
		 */

		/*
		 * MembersInfo membersInfo = getMembersInfoByMid(2);
		 * System.out.println(membersInfo
		 * .getMid()+" "+membersInfo.getMaddress());
		 */
		MembersInfo membersInfo = new MembersInfo(2, "何开6", "男", 18,
				"新凤凰直街18号", "963AA@qq.com");
		update(membersInfo);

	}

	private static void update(MembersInfo membersInfo) {
		Session session = HibernateSessionFactory.getSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			session.update(membersInfo);
			tx.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
			tx.rollback();
		} finally {
			HibernateSessionFactory.closeSession();
		}
	}

	private static MembersInfo getMembersInfoByMid(int mid) {
		Session session = HibernateSessionFactory.getSession();
		String hql = "from MembersInfo where mid=:mid";
		Query query = session.createQuery(hql);
		query.setInteger("mid", mid);
		MembersInfo membersInfo = (MembersInfo) query.uniqueResult();
		HibernateSessionFactory.closeSession();
		return membersInfo;
	}

	private static List<MembersInfo> getMembersInfoByPage(int pageIndex,
			int pageSize) {
		Session session = HibernateSessionFactory.getSession();
		String hql = "from MembersInfo";
		Query query = session.createQuery(hql);
		query.setFirstResult((pageIndex - 1) * pageSize);
		query.setMaxResults(pageSize);
		List<MembersInfo> membersInfos = query.list();
		HibernateSessionFactory.closeSession();
		return membersInfos;
	}
}

 

数据访问层:MembersInfoDao 和 MembersInfoDaoImpl

package dao;

import java.util.List;

import org.hibernate.HibernateException;

import entity.MembersInfo;

/**
 * MembersInfo 数据访问层接口
 * */
public interface MembersInfoDao {
	
	//列表分页
	public List<MembersInfo> getMembersInfoByPage(int pageIndex, int pageSize) throws HibernateException;
	
	//根据 mid 查询会员信息
	public MembersInfo getMembersInfoByMid(int mid) throws HibernateException;
	
	//修改数据
	public void update(MembersInfo membersInfo) throws HibernateException;
}

 

package dao.impl;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import util.HibernateSessionFactory;

import dao.MembersInfoDao;
import entity.MembersInfo;

/**
 * MembersInfo 数据访问层实现
 * */
public class MembersInfoDaoImpl implements MembersInfoDao {
	
	//列表分页
	public List<MembersInfo> getMembersInfoByPage(int pageIndex, int pageSize) throws HibernateException{
		Session session = HibernateSessionFactory.getSession();
		String hql = "from MembersInfo";
		 Query query = session.createQuery(hql); 
		 query.setFirstResult((pageIndex - 1) * pageSize);  
         query.setMaxResults(pageSize);
         List<MembersInfo> membersInfos = query.list(); 
         HibernateSessionFactory.closeSession();
		return membersInfos;
	}

	//根据 mid 查询会员信息
	public MembersInfo getMembersInfoByMid(int mid) throws HibernateException{
		Session session = HibernateSessionFactory.getSession();  
        String hql = "from MembersInfo where mid=:mid";  
        Query query= session.createQuery(hql);  
        query.setInteger("mid", mid);  
        MembersInfo membersInfo = (MembersInfo) query.uniqueResult();  
        HibernateSessionFactory.closeSession();
		return membersInfo;
	}

	//修改数据
	public void update(MembersInfo membersInfo) throws HibernateException{
		Session session = HibernateSessionFactory.getSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			session.update(membersInfo);
			tx.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
			tx.rollback();
		}finally{
			HibernateSessionFactory.closeSession();
		}
	}
}

 

业务逻辑层:MembersInfoBiz 和 MembersInfoBizImpl

package biz;

import java.util.List;

import org.hibernate.HibernateException;

import entity.MembersInfo;

/**
 * MembersInfo 业务逻辑层接口
 * */
public interface MembersInfoBiz {
	//列表分页
	public List<MembersInfo> getMembersInfoByPage(int pageIndex, int pageSize) throws HibernateException;

	//根据 mid 查询会员信息
	public MembersInfo getMembersInfoByMid(int mid) throws HibernateException;

	//修改数据
	public void update(MembersInfo membersInfo) throws HibernateException;
}

 

package biz.impl;

import java.util.List;

import org.hibernate.HibernateException;

import dao.MembersInfoDao;
import dao.impl.MembersInfoDaoImpl;

import entity.MembersInfo;
import biz.MembersInfoBiz;

/**
 * MembersInfo 业务逻辑层实现
 * */
public class MembersInfoBizImpl implements MembersInfoBiz {
	
	//全局 MembersInfoDao 对象
	MembersInfoDao dao = new MembersInfoDaoImpl();
	
	//列表分页
	public List<MembersInfo> getMembersInfoByPage(int pageIndex, int pageSize) throws HibernateException{
		return dao.getMembersInfoByPage(pageIndex, pageSize);
	}

	//根据 mid 查询会员信息
	public MembersInfo getMembersInfoByMid(int mid) throws HibernateException{
		return dao.getMembersInfoByMid(mid);
	}

	//修改数据
	public void update(MembersInfo membersInfo) throws HibernateException{
		dao.update(membersInfo);
	}
}

 

 

  • 大小: 35.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics