bishe

	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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值