如图所示:
实体类: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);
}
}