1.新闻发布系统截图---JSF+EJB3.0
2.实验室设备管理系统---JSF(Tomahawk)+Spring2.0+Hibernate3.2
我设计的部分超类:
/*
* EntityManagerDAOImpl.java
*
* Created on 2007年10月6日, 下午2:29
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package org.dgut.lab.model.dao.impl;
import java.sql.SQLException;
import java.util.List;
import org.dgut.lab.model.dao.EntityManagerDAO;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
/**
*
* @author LinChunyu
*/
public class EntityManagerDAOImpl implements EntityManagerDAO{
private HibernateTemplate hibernateTemplate;
/** Creates a new instance of EntityManagerDAOImpl */
public EntityManagerDAOImpl() {
}
public void delete(Object persistentInstance) {
hibernateTemplate.delete(persistentInstance);
}
public Object findById(Class cl,int id) {
return hibernateTemplate.get(cl, id);
}
public Object merge(Object detachedInstance) {
return hibernateTemplate.merge(detachedInstance);
}
public void persist(Object transientInstance) {
hibernateTemplate.persist(transientInstance);
}
public List execute(final String qry,final Object[] p) {
List list=(List)hibernateTemplate.execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
List list = null;
Query q = session.createQuery(qry);
if(p!=null){
for (int i = 0; i < p.length; i++) {
q.setParameter(i, p[i]);
}
}
return list = q.list();
}
});
return list;
}
public List execute(final String qry,final Object[] p,final int batchSize,final int firstItem) {
List list=(List)hibernateTemplate.execute(new HibernateCallback(){
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
List list = null;
Query q = session.createQuery(qry);
if(p!=null){
for (int i = 0; i < p.length; i++) {
q.setParameter(i, p[i]);
}
}
q.setMaxResults(batchSize);
q.setFirstResult(firstItem);
return list = q.list();
}
});
return list;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.hibernateTemplate = new HibernateTemplate(sessionFactory);
}
}
package org.dgut.lab.view.controller;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.logging.Logger;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.dgut.lab.model.servicelocator.ServiceLocator;
public class BaseController {
protected ServiceLocator serviceLocator;
protected final Logger log = Logger.getLogger(this.getClass().getName());
private int command=0;
protected int pageNo=1;
protected long itemCount;
protected int totalPage;
protected int batchSize=4;
public BaseController() {
}
public void init() {
}
public void setServiceLocator(ServiceLocator newServiceLocator) {
this.serviceLocator = newServiceLocator;
init();
}
public static void addErrorMessage(String msg1) {
String msg=getMessageString(msg1);
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
msg, msg);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage(null, facesMsg);
}
public static void addSuccessMessage(String msg1) {
String msg=getMessageString(msg1);
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO,
msg, msg);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage("successInfo", facesMsg);
}
public static String getMessageString(String name) {
String str = "";
FacesContext facesContext = FacesContext.getCurrentInstance();
String bundleName = facesContext.getApplication().getMessageBundle();
if (bundleName != null) {
Locale locale = facesContext.getViewRoot().getLocale();
/*ResourceBundle bundle = ResourceBundle.getBundle(bundleName,
locale, getCurrentClassLoader(params));*/
ResourceBundle bundle = ResourceBundle.getBundle(bundleName,
locale);
/*ResourceBundle bundle = ResourceBundle.getBundle(bundleName,
locale, getCurrentClassLoader(params));*/
str = bundle.getString(name);
}
return str;
}
private static ClassLoader getCurrentClassLoader(Object params) {
return params.getClass().getClassLoader();
}
public long getItemCount() {
return this.itemCount;
}
public int getPageNo() {
return pageNo;
}
public int getTotalPage() {
long totalPage1 = getItemCount() % 20 == 0 ? getItemCount() /batchSize
: getItemCount() / batchSize + 1;
totalPage=Integer.parseInt(String.valueOf(totalPage1));
return this.totalPage;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public void setItemCount(long itemCount) {
this.itemCount = itemCount;
}
public int getCommand() {
return command;
}
public void setCommand(int command) {
this.command = command;
}
}
Spring配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<!-- ****************** DataSource ********************* -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:mysql://localhost:3306/devicemanage</value>
</property>
<property name="user">
<value>root</value>
</property>
<property name="password">
<value>123456</value>
</property>
<property name="initialPoolSize"><value>10</value></property>
<property name="minPoolSize"><value>5</value></property>
<property name="maxPoolSize"><value>30</value></property>
<property name="acquireIncrement"><value>5</value></property>
<property name="maxIdleTime"><value>10</value></property>
<property name="maxStatements"><value>0</value></property>
</bean>
<!-- ****************** SessionFactory ********************* -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">
true
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/dgut/lab/model/entity/Voucher.hbm.xml</value>
<value>org/dgut/lab/model/entity/Device.hbm.xml</value>
<value>org/dgut/lab/model/entity/User.hbm.xml</value>
<value>org/dgut/lab/model/entity/VoucherDevice.hbm.xml</value>
<value>org/dgut/lab/model/entity/ManageLog.hbm.xml</value>
<value>org/dgut/lab/model/entity/Country.hbm.xml</value>
<value>org/dgut/lab/model/entity/PowerList.hbm.xml</value>
</list>
</property>
</bean>
<!-- ****************** Transaction ********************* -->
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- -->
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<!-- all methods starting with 'get' are read-only -->
<tx:method name="get*" read-only="true" />
<!-- other methods use the default transaction settings (see below) -->
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="fooServiceOperation"
expression="execution(* org.dgut.lab.model.service.*Service.*(..))" />
<aop:advisor advice-ref="txAdvice"
pointcut-ref="fooServiceOperation" />
</aop:config>
<!-- ****************** Service Locator ********************* -->
<bean id="serviceLocator"
class="org.dgut.lab.model.servicelocator.ServiceLocatorImpl">
<property name="userService">
<ref bean="userService" />
</property>
<property name="loanService">
<ref bean="loanService" />
</property>
<property name="deviceService">
<ref bean="deviceService" />
</property>
</bean>
<!-- ****************** DAO ********************* -->
<bean id="entityManagerDAO"
class="org.dgut.lab.model.dao.impl.EntityManagerDAOImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- ****************** Service ********************* -->
<bean id="deviceService"
class="org.dgut.lab.model.service.impl.DeviceServiceImpl">
<property name="entityManagerDAO">
<ref bean="entityManagerDAO" />
</property>
</bean>
<bean id="loanService"
class="org.dgut.lab.model.service.impl.LoanServiceImpl">
<property name="entityManagerDAO">
<ref bean="entityManagerDAO" />
</property>
</bean>
<bean id="userService"
class="org.dgut.lab.model.service.impl.UserServiceImpl">
<property name="entityManagerDAO">
<ref bean="entityManagerDAO" />
</property>
</bean>
</beans>
3.数据库查询分析处理器---RMI+JDBC+Swing
分享到:
相关推荐
实验室设备管理系统根据用户角色不同,功能划分如下: 一、超级管理员部分 超级管理员拥有最全面的管理权限,包括登录系统、管理班级信息、学生信息、教师信息、实验室类型、实验室及其设备、实验室预约、实验项目...
实验室设备管理系统 从三个种用户角度进行功能划分。 1、超级管理员部分 1.1:登陆系统; 1.2:班级信息管理; 1.3:学生信息管理; 1.4:教师信息管理; 1.5:实验室类型管理 1.6:实验室管理 1.7:实验室设备 1.8:实验室...
基于JavaWeb的高校实验室智能管理系统充分利用现代信息技术手段,不仅解决了传统实验室管理中存在的问题,还极大地提升了实验室管理的效率和质量。该系统的设计与实现为高校实验室管理提供了一个可行的解决方案,有...
同时,作为实验室的门户网站,也是对外展示形象、发布新闻和公告、介绍实验室功能和特色、公布规章制度、交换信息等重要功能。 三、智慧城市建设 智慧城市建设是结合高校实验室管理与服务工作平台的重要组成部分。...
管理员功能模块 管理员可以添加删除学生和教师信息,并为教师分配学生 管理员可以发布新闻,公告,并有删除更改新闻,公告的权限 管理员要审核导师的毕设题目是否通过 管理员可以查看学生的毕设成绩
在设备配置方面,实验室需要包括台式多媒体电脑、媒体服务器、电脑桌椅、投影仪、空调、扫描仪、彩色和激光打印机、数位板、USB接口DVD刻录机、联网设备、高清数字非线编系统、数字摄像机、SD存储卡、单反相机、...
32. **网络信息管理**:不允许在电子公告系统、聊天室、网络新闻组上发布、讨论和传播国家秘密信息。 33. **上网信息安全**:实行“谁上网谁负责”原则,确保网络信息的安全。 34. **实验室钥匙管理**:钥匙由实验...
1. 公开信息管理系统设计:该系统主要目的是对外展示学院形象,提供学院历史、专业、部门、实验室等基本信息。设计时需考虑用户体验,确保页面设计美观且易于操作,同时便于信息的实时更新和维护。 2. 教师信息管理...
6. **行政管理**:如办公自动化系统、酒店预定管理系统、实验室设备管理系统等,这些应用利用ASP优化了日常工作和资源管理,提高了机构运营效率。 7. **内容管理系统**:如新闻发布系统、期刊系统、投票系统等,...
题目11:高校设备管理系统 系统需管理高校部门、学院和设备信息。创建部门表、设备表,支持设备信息管理,以及设备清单的汇总输出。 题目12:在线答疑系统(B/S结构) 此系统需处理学生提问和教师回复。设计学生表...
9. **自动化办公系统**:如办公自动化系统、实验室设备管理系统,目的是提高工作效率,减少重复工作。 10. **客户服务系统**:如客户信息管理系统、客户关系管理,关注客户服务流程,提供客户数据分析功能。 11. *...
1. 公开信息管理系统设计:这个系统主要用于对外展示学院的基本信息,如学院历史、专业、部门、实验室等。设计时需要考虑如何有效地组织和存储这些信息,可能需要创建多个数据表,如学院表、专业表、教师表和学生表...
5. **新闻动态**:发布实验室的最新科研进展、行业动态和活动信息,保持与用户的互动。 6. **联系我们**:提供联系方式、地址地图和在线咨询表单,方便客户寻求帮助或预约服务。 7. **技术支持**:包括常见问题...
任何使用广播系统和设备的行为必须提前申请,经团委审批后方可执行。广播站成员负责操作播音系统,未经许可的擅自使用将导致严重后果。此外,校园电视直播系统需校长审批,周末的影视剧播放由特定班级的学生负责。...
这些管理系统和服务平台涉及了各种实际应用场景,包括医药、教育、购物、娱乐、信息管理等多个领域。 1. **SSH/SSM框架**:SSH(Spring、Struts、Hibernate)和SSM(Spring、SpringMVC、MyBatis)是Java Web开发中...
- **资产管理**:管理学校财产,包括设备、图书、实验室资源等。 - **人事管理**:员工信息管理、考勤记录、薪酬福利计算等。 - **教学管理**:课程安排、成绩管理、学生档案、教师评价等。 - **协同工作**:...
22. 新闻网站管理系统:创建一个可发布、编辑、分类新闻的后台系统,提升新闻更新效率。 这些选题涵盖了Web开发、数据库管理、系统集成、用户体验等多个领域,有助于学生全面掌握软件开发的各个环节,同时,每个...