资源简介
本项目是一个 小组的考核项目
代码片段和文件信息
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.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个文件信息
- 上一篇:java网络在线考试系统源代码大全
- 下一篇:LBS签到应用
相关资源
- javaweb图书管理系统72601
- javaweb之mvc设计模式的学生信息管理系
- java web无数据库实现数据增删改差
- JavaWeb小区物业管理系统毕业设计程序
- Android端使用get post 方法提交数据到服
- javaweb图书信息增删改查
- 部门员工管理系统javaweb
- JAVAWEB人事管理系统
- javaweb课程设计报告
- 基于JavaWeb的图书馆座位预约系统设计
- 用servlet做出来的Javaweb项目:图书管理
- Javaweb应用图片文件上传并预览,数据
- SSM框架开发的超市订单管理系统2019
- javaweb超市进销系统
- 基于javaweb写的网上商城
- JavaWeb新闻管理系统183842
- javaweb实现语音识别
- 基于 javaweb + sql 的机房管理系统
- 基于javaweb的网上订餐系统bootstrap框架
- TeenMusic在线音乐分享系统 | JavaWeb项目
- javaweb开发中所需要的json包
- FileSmartUpload-文件上传页面实现
- 基于JavaWeb的在线课程考试管理系统
- JavaWeb网上订餐系统项目
- _佟刚_JavaWEB_MVC案例源码
- 基于javaweb的考勤系统
- javaweb宿舍管理系统
- javaweb实训项目需求
- 简易论坛javaweb程序
- JavaWeb教务管理系统.zip
评论
共有 条评论