• 大小: 3.1MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-28
  • 语言: Java
  • 标签: JSP  

资源简介

基于JSP的学生管理系统 基于JSP的学生管理系统 基于JSP的学生管理系统

资源截图

代码片段和文件信息

package com.fuzhu.studentmanager;

import java.lang.reflect.InvocationTargetException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetmetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.beanutils.BeanUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.user.Slf4jTest;

public class DAO {
  private static Logger Log = LoggerFactory.getLogger(Slf4jTest.class);

// INSERT UPDATE DELETE操作都可以包含在其中
public void update(String sql object... args) {
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
connection = JDBCTools.getConnection();
preparedStatement = connection.prepareStatement(sql);
for (int i = 0; i < args.length; i++) {
preparedStatement.setobject(i + 1 args[i]);
}
preparedStatement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCTools.release(null preparedStatement connection);
}
}

public  T get(Class clazz String sql object... args) {
List result = getForList(clazz sql args);
if (result.size() > 0) {
return result.get(0);
}
return null;
}

// 查询多条记录,返回对应的对象的集合
public  List getForList(Class clazz String sql object... args) {
List list = new ArrayList<>();

Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
// 总步骤.(1) 得到结果集
connection = JDBCTools.getConnection();
preparedStatement = connection.prepareStatement(sql);
for (int i = 0; i < args.length; i++) {
preparedStatement.setobject(i + 1 args[i]);
}
resultSet = preparedStatement.executeQuery();
// 总步骤(2)处理结果集,得到Map的List,其中一个Map对象就是一条记录。Map的key为resultSet中列的别名,Map的value为列的值
// 5-11方法隔离抽取:处理结果集,得到Map的一个List,其中一个Map对象对应一条记录
Listject>> values = handleResultSetToMapList(resultSet);

// 总步骤(3)把Map的List转为clazz对应的List集合,其中Map的key即为clazz对应的对象的propertyName,而Map的value即为clazz对应的对象的propertyValue
// 12.
// 判断List是否为空,不为空则遍历List,得到一个一个的Map,再把一个Map对象转为一个对应的Class参数对应的object对象。
list = transferMapListToBeanList(clazz values);

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
JDBCTools.release(resultSet preparedStatement connection);
}
return list;
}
/**
 * 处理结果集,得到Map的一个List,其中一个Map对象对应一条记录
 * 
 * @param resultSet
 * @return
 * @throws SQLException
 */
private Listject>> handleResultSetToMapList(ResultSet resultSet) throws SQLException {
// 5.
// 若ResultSet中有记录--准备一个Listject>>:键:存放列的别名;值:存放列的值。其中一个Map对象对应一条记录。
Listject>> values = new ArrayList<>();

// ResultSetmetaData rsmd =resultSet.getmetaData(); //优化这个方法
List columnLabels = getColumnLabels(resultSet);
Ma

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-08 17:52  StudentManagement\
     文件        1351  2018-04-09 15:23  StudentManagement\.classpath
     文件        6148  2018-04-09 18:44  StudentManagement\.DS_Store
     目录           0  2018-06-26 14:59  __MACOSX\
     目录           0  2018-06-26 14:59  __MACOSX\StudentManagement\
     文件         120  2018-04-09 18:44  __MACOSX\StudentManagement\._.DS_Store
     目录           0  2018-04-09 20:46  StudentManagement\.git\
     文件         317  2018-04-08 17:45  StudentManagement\.git\config
     文件          73  2018-04-08 17:45  StudentManagement\.git\description
     文件          23  2018-04-08 17:45  StudentManagement\.git\HEAD
     目录           0  2018-04-08 17:45  StudentManagement\.git\hooks\
     文件         478  2018-04-08 17:45  StudentManagement\.git\hooks\applypatch-msg.sample
     文件         896  2018-04-08 17:45  StudentManagement\.git\hooks\commit-msg.sample
     文件         189  2018-04-08 17:45  StudentManagement\.git\hooks\post-update.sample
     文件         424  2018-04-08 17:45  StudentManagement\.git\hooks\pre-applypatch.sample
     文件        1642  2018-04-08 17:45  StudentManagement\.git\hooks\pre-commit.sample
     文件        1348  2018-04-08 17:45  StudentManagement\.git\hooks\pre-push.sample
     文件        4951  2018-04-08 17:45  StudentManagement\.git\hooks\pre-rebase.sample
     文件        1239  2018-04-08 17:45  StudentManagement\.git\hooks\prepare-commit-msg.sample
     文件        3610  2018-04-08 17:45  StudentManagement\.git\hooks\update.sample
     文件        7780  2018-04-09 16:03  StudentManagement\.git\index
     目录           0  2018-04-08 17:45  StudentManagement\.git\info\
     文件         240  2018-04-08 17:45  StudentManagement\.git\info\exclude
     目录           0  2018-04-08 17:45  StudentManagement\.git\logs\
     文件         190  2018-04-08 17:45  StudentManagement\.git\logs\HEAD
     目录           0  2018-04-08 17:45  StudentManagement\.git\logs\refs\
     目录           0  2018-04-08 17:45  StudentManagement\.git\logs\refs\heads\
     文件         190  2018-04-08 17:45  StudentManagement\.git\logs\refs\heads\master
     目录           0  2018-04-08 17:45  StudentManagement\.git\logs\refs\remotes\
     目录           0  2018-04-08 17:45  StudentManagement\.git\logs\refs\remotes\origin\
     文件         190  2018-04-08 17:45  StudentManagement\.git\logs\refs\remotes\origin\HEAD
............此处省略293个文件信息

评论

共有 条评论