Content

Jsp+Servlet实现文件上传下载 删除上传文件(三)(jsp是什么文件的扩展名)墙裂推荐

文章摘要

这篇文章介绍了名为`AccessoryDao`的Java类,该类实现了对数据库表`tbl_accessory`的增删查改操作。类中包含以下四个静态方法: 1. `add(EntityAccessory entity)`:用于将`EntityAccessor`对象插入到数据库中,插入的字段包括文件名、文件大小、文件扩展名和路径。 2. `list()`:从数据库中查询所有`EntityAccessor`对象,并返回一个包含这些对象的列表。 3. `load(int id)`:根据记录的ID,从数据库中获取对应的`EntityAccessor`对象。 4. `remove(int id)`:删除数据库中指定ID的`EntityAccessor`记录。 类中使用了JDBC接口,通过`DBUtil`类进行数据库连接和 ResultSet、PreparedStatement 的操作。所有资源(如 Connection、ResultSet 和 PreparedStatement)在方法执行后都会被正确关闭。文章重点描述了类的核心功能和资源管理策略。

 package dao.upload; import entity.upload.EntityAccessory; import util.DBUtil; import java.math.BigDecimal; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class AccessoryDao { public static void add(EntityAccessory entity) { Connection conn=DBUtil.getConnection(); String sql=”insert into tbl_accessory(file_name,file_size,file_ext_name,file_path) values(?,?,?,?)”; try { PreparedStatement ps=conn.prepareStatement(sql); ps.setString(1, entity.getFileName()); ps.setDouble(2, entity.getFileSize()); ps.setString(3, entity.getFile_ext_name()); ps.setString(4, entity.getFilePath()); ps.execute(); //conn.commit(); DBUtil.close(null, ps, conn); } catch (SQLException e) { e.printStackTrace(); } } public static List<EntityAccessory> list() { Connection conn=DBUtil.getConnection(); String sql=”select id,file_name,file_size,file_ext_name,file_path from tbl_accessory”; List<EntityAccessory> accessoryList=new ArrayList<>(); try { PreparedStatement ps=conn.prepareStatement(sql); ResultSet rs=ps.executeQuery(); while (rs.next()) { EntityAccessory entity=new EntityAccessory(); entity.setId(rs.getInt(“id”)); entity.setFileName(rs.getString(“file_name”)); entity.setFileSize(new BigDecimal(rs.getDouble(“file_size”) / 1024).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); entity.setFile_ext_name(rs.getString(“file_ext_name”)); entity.setFilePath(rs.getString(“file_path”)); accessoryList.add(entity); } DBUtil.close(rs, ps, conn); } catch (SQLException e) { e.printStackTrace(); } return accessoryList; } public static EntityAccessory load(int id){ Connection conn=DBUtil.getConnection(); PreparedStatement ps=null; ResultSet rs=null; EntityAccessory entity=new EntityAccessory(); String sql=”select id, file_name,file_size,file_ext_name,file_path from tbl_accessory where id=?”; try { ps=conn.prepareStatement(sql); ps.setInt(1,id); rs=ps.executeQuery(); while (rs.next()){ entity.setId(rs.getInt(“id”)); entity.setFileName(rs.getString(“file_name”)); entity.setFileSize(rs.getDouble(“file_size”)); entity.setFile_ext_name(rs.getString(“file_ext_name”)); entity.setFilePath(rs.getString(“file_path”)); } } catch (SQLException e) { e.printStackTrace(); }finally { DBUtil.close(rs,ps,conn); } return entity; } public static void remove(int id) { Connection conn=DBUtil.getConnection(); String sql=”delete from tbl_accessory where id=?”; try { PreparedStatement ps=conn.prepareStatement(sql); ps.setInt(1,id); ps.execute(); //conn.commit(); mysql默认开启了autocommit DBUtil.close(null,ps,conn); } catch (SQLException e) { e.printStackTrace(); } } }