• 大小: 1.57MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-31
  • 语言: Java
  • 标签: javaweb  

资源简介

本项目是一个 小组的考核项目

资源截图

代码片段和文件信息

package Management.base;

import java.io.File;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.fileupload.FileItem;

import Management.util.Mysqllink;

public class Daobase {
private Class  clazz;
private String tableName;//表名
@SuppressWarnings(“unchecked“)
Mysqllink m =new Mysqllink();
Connection  c = m.getConnection();
@SuppressWarnings(“unchecked“)
public Daobase(){
//获得该类type
Type type=this.getClass().getGenericSuperclass();
//判断该类是否继承parameterizedType接口
if(!(type instanceof ParameterizedType)){
type=object.class;
}
//如果实现该接口 就获去该类的第一个泛型参数(子类class)
clazz =  (Class )  ((ParameterizedType) type).getActualTypeArguments()[0];
//获得表名
tableName=clazz.getSimpleName().toLowerCase();
}


//插入add
public boolean addEntity(T t) throws SQLException{
//获得子类所有的属性
Field[] fields=clazz.getDeclaredFields();
String attribute=““;//属性名
String placeholder=““;//占位符
for(int i=0;i attribute=attribute+fields[i].getName();
placeholder=placeholder+“?“;
if(i==fields.length-1){
continue;
}
attribute=attribute+““;
placeholder=placeholder+““;
}
String sql=“insert into “+tableName+“ (“+attribute+“) values(“+placeholder+“)“;
PreparedStatement  ps=c.prepareStatement(sql);
//给占位符赋值
for(int i=0;i try {
Method method=clazz.getMethod(getGetOrSetMethodName(“get“ fields[i]));
ps.setString(i+1(String)method.invoke(t));

} catch (Exception e) {
// TODO: handle exception
}

}
int ok=ps.executeUpdate();
if(ok==1){
return true;
}else{
return false;
}
}

//根据id查询find
@SuppressWarnings(“unchecked“)
public T findEntityById(int id) throws Exception{
//获得子类所有的属性
Field[] fields=clazz.getDeclaredFields();
String sql=“select * from “+tableName+“ where “+fields[0].getName()+“=?“;
List list=executeFindSql(sql id);
if(list.size()>0){
return (T)list.toArray()[0];

}else{
return null;
}

}
//删除delete
public boolean deleteEntity(int id){
//获得子类所有的属性
Field[] fields=clazz.getDeclaredFields();
String sql=“delete from “+tableName+“ where “+fields[0].getName()+“=?“;
if(executeSql(sql id)==1){
return true;
}else{
return false;
}
}

//修改update
public boolean updateEntity(T t) throws Exception{
int count=0;
//获得子类所有的属性
Field[] fields = clazz.getDeclaredFields();
String setSentence=““;
for(int i=1;i setSentence=setSentence+fields[i].getName()+“=?“;
if(i==fields.length-1){
continue;
}
setSentence=setSentence+““;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-05-01 09:03  EMS3\
     文件        1341  2017-05-01 09:03  EMS3\.classpath
     文件        1037  2017-05-01 09:03  EMS3\.project
     目录           0  2017-05-01 09:03  EMS3\.settings\
     文件         503  2017-05-01 09:03  EMS3\.settings\.jsdtscope
     文件         364  2017-05-01 09:03  EMS3\.settings\org.eclipse.jdt.core.prefs
     文件         464  2017-05-01 09:03  EMS3\.settings\org.eclipse.wst.common.component
     文件         345  2017-05-01 09:03  EMS3\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2017-05-01 09:03  EMS3\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2017-05-01 09:03  EMS3\.settings\org.eclipse.wst.jsdt.ui.superType.name
     目录           0  2017-05-01 09:03  EMS3\build\
     目录           0  2017-05-01 09:03  EMS3\build\classes\
     目录           0  2017-05-01 09:03  EMS3\build\classes\Management\
     目录           0  2017-05-01 09:03  EMS3\build\classes\Management\base\
     文件        6964  2017-05-01 09:03  EMS3\build\classes\Management\base\Daobase.class
     目录           0  2017-05-01 09:03  EMS3\build\classes\Management\dao\
     文件        1378  2017-05-01 09:03  EMS3\build\classes\Management\dao\AchievementDao.class
     文件        1328  2017-05-01 09:03  EMS3\build\classes\Management\dao\NoticeDao.class
     文件        3349  2017-05-01 09:03  EMS3\build\classes\Management\dao\UserDao.class
     目录           0  2017-05-01 09:03  EMS3\build\classes\Management\entity\
     文件        4089  2017-05-01 09:03  EMS3\build\classes\Management\entity\Achievement.class
     文件        1772  2017-05-01 09:03  EMS3\build\classes\Management\entity\Notice.class
     文件        2227  2017-05-01 09:03  EMS3\build\classes\Management\entity\User.class
     目录           0  2017-05-01 09:03  EMS3\build\classes\Management\filter\
     文件        2229  2017-05-01 09:03  EMS3\build\classes\Management\filter\LoginValidationFilter.class
     目录           0  2017-05-01 09:03  EMS3\build\classes\Management\service\
     文件        1185  2017-05-01 09:03  EMS3\build\classes\Management\service\AchievementService.class
     文件        1140  2017-05-01 09:03  EMS3\build\classes\Management\service\NoticeService.class
     文件        1137  2017-05-01 09:03  EMS3\build\classes\Management\service\UserService.class
     目录           0  2017-05-01 09:03  EMS3\build\classes\Management\servlet\
     文件        6916  2017-05-01 09:03  EMS3\build\classes\Management\servlet\AchievementServlet.class
............此处省略79个文件信息

评论

共有 条评论