資源簡(jiǎn)介
本項(xiàng)目是一個(gè) 小組的考核項(xiàng)目

代碼片段和文件信息
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;
}
//如果實(shí)現(xiàn)該接口?就獲去該類的第一個(gè)泛型參數(shù)(子類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;
}
}
//根據(jù)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+““;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????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.xm
?????文件??????????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\ba
?????文件????????6964??2017-05-01?09:03??EMS3\build\classes\Management\ba
?????目錄???????????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個(gè)文件信息
評(píng)論
共有 條評(píng)論