如图所示:
实体类: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); } }
相关推荐
hibernate_tools-entity实体、dao、hbm等代码生成
Spring Boot基于 Mybatis 自动生成Entity,controller、serviceImpl ,Dao,方便开发,无需手写
java源码有备注说明自动生成java entity和dao层,包含动态的sql语句,增删改查都有,为程序猿专注主要业务逻辑。
Hibernate逆向生成entity和hbm.xml文件这是一个视频,比文件看起来更加给力。
mybatis自动生成mapper、dao和entity配置文件,将文件放在classpath路径下
Java自动生成entity、dao、service、controller代码
对实体类的更改会自动反映在生成的DAO类中,具有更清晰的代码库和更简单的PR。 关注代码库而不关注谓词。 例子 若要生成DAO,请使用@GenerateDao注释您的@Entity类。 package com.example ; @GenerateDao // ...
根据数据库快速生成 dao - entity - service - controller - jsp 代码
User实体(id, name, age, sex, ctime),使用hibernate实现User的增删改查。要求: 1、包的层次: com.xxx.entity, com.xxx.dao, com.xxx.dao.impl.hql, com.xxx.dao.impl.qbc, com.xxx.dao.impl.sql, ...
hibernate自动生成entity,映射文件,dao.等
无法带图发表,请下载附件的word文档,里边有详细的截图! 博文链接:https://hanyou.iteye.com/blog/134799
1)dao类的繁多,很多设计都是一个entity对应一个dao (不同的只有类名和方法名) 2)dao接口需要维护的method庞大。 3)业务逻辑改变时,dao需要同时修改两个类文件(接口和实现类) 在本文中,我将为您展示如何...
action层控制层 控制业务逻辑dao层 持久层 与数据库的交互service层(biz):业务层 控制业务domain层(entity):实体层
1)dao类的繁多,很多设计都是一个entity对应一个dao (不同的只有类名和方法名) 2)dao接口需要维护的method庞大。 3)业务逻辑改变时,dao需要同时修改两个类文件(接口和实现类) 在本文中,我将为您展示如何...
自己根据课本总结的使用hibernate时,实体类间映射文件即*.hbm.xml文件的写法。如果你正在学习hibernate,保证会对你有所帮助。
第二层:HibernateEntityDao,基于HibernateGenericDao,用泛型声明Dao所管理的Entity类,默认拥有该entity的CRUD方法。 第三层:HibernateExtendDao,基于HibernateEntityDao,主要扩展各种选择性的功能。
对于经常写重复性代码的entity,dao,service,本例子中写了一个简单的自动生成小程序,有需要者可以下载
mybatis自动生成代码.只需要修改配置的生成dao和entity类的路径,连接的数据库.直接点击bat文件可一步生成.
利用hibernate自动生成hbm.xml文件和entity类,挺详细的文档呢,可以参考看看的喔喔
轻量级javaee 企业应用于实践 有专业教授现场演示 内容和清晰 态度亲切 不可或缺