public PageModel listStudent(int pageNo, int pageSize, String clientIdOrName) {
StringBuffer sbSql = new StringBuffer();
sbSql.append("from Student ");
if(clientIdOrName != null && clientIdOrName.trim().length() != 0) {
sbSql.append("where id like '%" + clientIdOrName + "%' or time like '%" + clientIdOrName + "%'");
}
Session session = null;
Transaction tx = null;
PageModel pageModel = null;
List studentes = new ArrayList();
try {
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
Query query = session.createQuery(sbSql.toString());
query.setFirstResult((pageNo -1) * pageSize);
query.setMaxResults(pageSize);
List temp = query.list();
for(Iterator ite = temp.iterator(); ite.hasNext();) {
studentes.add((Student)ite.next());
}
pageModel = new PageModel();
pageModel.setPageNo(pageNo);
pageModel.setPageSize(pageSize);
pageModel.setList(studentes);
pageModel.setTotalRecords(getTotalRecords(clientIdOrName,"Student"));
tx.commit();
}catch(Exception e) {
e.printStackTrace();
tx.rollback();
}finally {
HibernateSessionFactory.closeSession();
}
return pageModel;
}
public ActionForward list(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
StudentActionForm saf = (StudentActionForm)form;
PageModel pageModel = ServiceFactory.getInstance()
.getAdminManager()
.listStudent(saf.getPageNo(), saf.getPageSize(), saf.getClientIdOrName());
request.setAttribute("pagemodel", pageModel);
return mapping.findForward("list_success");
}
<action path="/admin/student"
type="edu.struts.actions.StudentAction"
name="studentForm"
scope="request"
parameter="command"
>
public class AdminBaseAction extends DispatchAction {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
if(request.getSession().getAttribute("adminId") == null) {
return mapping.findForward("login");
}
return super.execute(mapping, form, request, response);
}
}
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginActionForm lf = (LoginActionForm)form;
if("student".equals(lf.getType())) {
if(ServiceFactory.getInstance().getStudentManager().login(lf.getId(), lf.getPassword(), lf.getType())) {
request.getSession().setAttribute("studentId", lf.getId());
ActionForward af = new ActionForward("student/main.do",true);
return af;
}
}else if("teacher".equals(lf.getType())) {
if(ServiceFactory.getInstance().getTeacherManager().login(lf.getId(), lf.getPassword(), lf.getType())) {
request.getSession().setAttribute("teacherId", lf.getId());
ActionForward af = new ActionForward("teacher/main.do",true);
return af;
}
}else if("admin".equals(lf.getType())) {
if(ServiceFactory.getInstance().getAdminManager().login(lf.getId(), lf.getPassword(), lf.getType())) {
request.getSession().setAttribute("adminId", lf.getId());
ActionForward af = new ActionForward("admin/main.do",true);
return af;
}
}
return mapping.findForward("login");
}
}
<action path="/login"
type="edu.struts.actions.LoginAction"
scope="request"
name="loginForm"
>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="edu.model.Student">
<!-- 描述ID生成策略 -->
<id name="id">
<generator class="assigned"/>
</id>
<!-- 普通属性 -->
<property name="name"/>
<property name="password"/>
<!-- 描述Student与Contact的一对一映射 -->
<many-to-one name="contact" column="contact_id" unique="true" not-null="true" cascade="all" lazy="false"/>
<!-- 描述Student与History的一对多映射 -->
<set name="histories" table="history" lazy="true" cascade="all" inverse="true" order-by="id asc">
<key column="sid"/>
<one-to-many class="edu.model.History"/>
</set>
<!-- 描述Student与Classes的多对多映射 -->
<set name="classes" table="student_class_link" lazy="true" inverse="false" cascade="save-update">
<key column="student_id"/>
<many-to-many class="edu.model.Classes" column="class_id"/>
</set>
</class>
</hibernate-mapping>
package edu.util;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class ExportDB {
public static void main(String[] args) {
//读取xml配置文件
Configuration cfg = new Configuration().configure();
SchemaExport export = new SchemaExport(cfg);
//根据读取的xml文件导出数据表
export.create(true, true);
}
}
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="edu.model.History">
<id name="id">
<generator class="native"/>
</id>
<property name="mark"/>
<many-to-one name="student" column="sid"/>
<many-to-one name="clazz" column="cid" lazy="false"/>
</class>
</hibernate-mapping>
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>edu.util.CharsetEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Student student = (Student)HibernateSessionFactory.getSession().get(Student.class, id);
Session session = null;
Transaction tx = null;
Student student = null;
try {
//通过HibernateSessionFactory工具类获得Session对象
session = HibernateSessionFactory.getSession();
//开启事务
tx = session.beginTransaction();
//业务逻辑
student = (Student)session.get(Student.class, id);
//提交事务
tx.commit();
}catch(Exception e) {
e.printStackTrace();
//当业务逻辑发生异常是回滚事务
tx.rollback();
}finally {
//最后关闭Session
HibernateSessionFactory.closeSession();
}
return student;
Student student = (Student)HibernateSessionFactory.getSession().get(Student.class,id);
分享到:
相关推荐
【标题】:“bishe (1).zip”是一个压缩文件,通常使用.zip格式,这是一种常见的文件归档和压缩标准。在Windows、Mac OS或Linux等操作系统中,我们可以使用各种解压缩工具来打开它,例如WinRAR、7-Zip或内置的解压...
《测井数据采集系统——BiShe Project 深度解析》 测井是石油与地质勘探领域中的核心技术之一,它通过向地下发射电磁波或热能,并接收返回的信息,来探测地层的物理特性,如岩性、孔隙度、渗透率等。在这个信息化...
bishe04-毕设项目资源
"bishe_verilog_" 这个标题可能指的是一个 Verilog 实现的特定项目或者模块,它实现了对两个输入信号进行异或操作,然后对异或结果和其中一个原始输入信号进行计数的功能。 在Verilog中,异或操作可以使用非门(`~`...
《Bishe_cookbook.rar》是一个包含关于烹饪应用开发的资源文件,主要涉及用户管理、菜谱管理和界面展示等功能。在这个项目中,开发者利用SQLite数据库来存储和管理用户信息及菜谱数据,实现了基本的用户注册、登录、...
【标题】"open-source-bishe-毕设源码,口令大全" 指的是一种开放源代码的毕业设计项目,通常这类项目是学生在完成学业时为了展示其编程能力和技术理解而创建的。"毕设源码"是大学毕业生在完成学位论文或设计时所...
在“bishe”项目中,不同的功能模块如搜索框、商品卡片、购物车等都可以被封装为独立的组件,方便维护和重用。 4. **响应式数据绑定**:Vue的双括号{{ }}插值表达式和v-bind指令实现了数据与视图的实时同步。当数据...
以“bishe - 副本 - 副本.rar”这一可能的项目或设备名称为起点,我们讨论的焦点将落在一个高度集成化的环境监测和控制系统上。该系统通过精准地采集关键的环境参数,并结合现代通信技术实现远程监控,为现代农业和...
标题中的“bishe-5V -DoubleASM1117.rar”表明这是一个关于电子设计的压缩包,可能包含了电路板设计文件,其中“5V”指的是电源电压,而“DoubleASM1117”可能指的是使用了两个ASM1117稳压器,这种器件常用于为电路...
本项目——"BiShe Project",聚焦于利用C#语言开发一套高效、精准的测井数据采集系统,旨在提升石油行业的数据处理能力与决策支持。 一、C#编程语言的应用 C#是一种面向对象的编程语言,由微软公司推出,广泛应用于...
【标题】"BiShe Project 毕业设计 测井数据采集系统.zip" 提供了一个关于测井数据采集系统的毕业设计项目。测井是石油工程领域的重要环节,它通过向地下井孔发射信号并接收回波,以获取地质结构、流体性质等信息。这...
“Practice_1CPw2_bishe1.hfss”这个文件名中的“bishe1”可能表示这是设计过程中的第一个版本或实验,而“.hfss”后缀则表明这是一个HFSS项目的工程文件,包含了完整的模型定义、材料属性、求解设置以及仿真结果。...
在项目“bishe-bianma.rar”中,可能包含了MATLAB代码文件,用于实现线性分组码的编码和解码过程。这些文件可能命名为“encoder.m”和“decoder.m”,分别对应编码器和解码器的函数。此外,可能还有示例数据和测试...
"bishe_基于VUE_vue_源码.zip" 这个文件很可能包含了一个使用Vue.js开发的项目源代码。现在,我们将深入探讨Vue.js的核心概念和关键特性。 1. **组件化**:Vue.js 的核心理念是组件化开发,它允许开发者将UI拆分...
【标题】中的“计算机,Java编程,Tomcat,环境配置,bishe/新手学习”表明了我们要探讨的是关于计算机编程,特别是Java语言的使用,以及如何配置Tomcat服务器,这适用于初学者。Tomcat是一个开源的Java Servlet容器...
用于毕设的实验室考勤管理系统,采用cs架构,服务器采用MongoDB数据库在本地搭建简易数据库,刷卡端采用RFID与stm32F107芯片,学生在进入实验室时打卡,数据库实时记录,并在pc端显示该卡学生的照片,年级,姓名等...
标题“bishe-paper-IEEE-PSO-grid-min-cost-econmic.zip”暗示了这是一个关于使用粒子群优化(PSO)算法解决微电网经济调度问题的研究论文。微电网是一种分布式能源系统,它能够独立于主电网运行,提高了电力供应的...
文件“bishe.m”很可能是MATLAB脚本,用于实现神经网络模型的搭建、训练和测试。MATLAB是一种强大的数值计算环境,常用于处理复杂的数学模型,包括神经网络。在该脚本中,可能包含了定义网络结构、设定学习率、初始...
本资料包“bishe.zip”就详细探讨了MATLAB如何在地震断层反演中处理断层张裂角变化的问题。 首先,MATLAB是一种高级编程语言,以其简洁的语法和丰富的数学函数库深受科研人员喜爱。在地震震源机制解的反演中,...