package com.clouddrive.dao.impl;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.clouddrive.dao.BaseDao;
import com.clouddrive.dao.RSProcessor;
import com.clouddrive.dao.ShareDao;
import com.clouddrive.entity.Share;
public class ShareDaoImpl extends BaseDao implements ShareDao {
@Override
public int countShare() {
String sql = "select count(*) as share_count from share";
RSProcessor getResultProcessor = new RSProcessor() {
public Object process(ResultSet rs) throws SQLException {
int count = 0;
if (rs != null) {
if (rs.next()) {
count = rs.getInt("share_count");
}
}
return new Integer(count);
}
};
return (Integer) this.executeQuery(getResultProcessor, sql);
}
@Override
public int countShareByKey(String key) {
String sql = "select count(*) as share_count from share where keyword=?";
Object[] params = { key };
RSProcessor getResultProcessor = new RSProcessor() {
public Object process(ResultSet rs) throws SQLException {
int count = 0;
if (rs != null) {
if (rs.next()) {
count = rs.getInt("share_count");
}
}
return new Integer(count);
}
};
return (Integer) this.executeQuery(getResultProcessor, sql, params);
}
@Override
public Share findShareByKey(String key) {
String sql = "select * from share where keyword = ?";
Object[] params = { key };
RSProcessor getResultProcessor = new RSProcessor() {
public Object process(ResultSet rs) throws SQLException {
Share share = null;
if (rs != null) {
if (rs.next()) {
String user = rs.getString("user");
String uuidName = rs.getString("uuidName");
String url = rs.getString("url");
String shareTime = rs.getString("shareTime");
String key = rs.getString("keyword");
int downloads = rs.getInt("downloads");
long size = rs.getLong("size");
share = new Share(user, uuidName, url, shareTime, key, downloads, size);
}
}
return share;
}
};
return (Share) this.executeQuery(getResultProcessor, sql, params);
}
@Override
public int insert(Share share) {
String sql = "insert share (user, uuidName, url, shareTime, keyword, downloads, size) values(?,?,?,?,?,?,?)";
Object[] params = { share.getUser(), share.getUuidName(), share.getUrl(), share.getShareTime(), share.getKey(),
0, share.getSize() };
return this.executeUpdate(sql, params);
}
@SuppressWarnings("unchecked")
@Override
public Vector<Share> findShareByUser(String name) {
String sql = "select * from share where user = ? order by shareTime desc";
Object[] params = { name };
RSProcessor getResultProcessor = new RSProcessor() {
public Object process(ResultSet rs) throws SQLException {
Vector<Share> shares = new Vector<Share>();
while (rs.next()) {
String user = rs.getString("user");
String uuidName = rs.getString("uuidName");
String url = rs.getString("url");
String shareTime = rs.getString("shareTime");
String key = rs.getString("keyword");
int downloads = rs.getInt("downloads");
long size = rs.getLong("size");
Share share = new Share(user, uuidName, url, shareTime, key, downloads, size);
shares.add(share);
}
return shares;
}
};
return (Vector<Share>) this.executeQuery(getResultProcessor, sql, params);
}
@Override
public int updateDownloadByKey(String key) {
String sql = "update share \r\n" + "set downloads = downloads+1\r\n" + "where keyword = ?";
Object[] params = { key };
return this.executeUpdate(sql, params);
}
@Override
public int delShareByKey(String key) {
String sql = "delete from share\r\n" + "where keyword = ?";
Object[] params = { key };
return this.executeUpdate(sql, params);
}
@Override
public int delShareByUuidName(String uuidName) {
String sql = "delete from share\r\n" + "where uuidName = ?";
Object[] params = { uuidName };
return this.executeUpdate(sql, params);
}
@Override
public int countShareByUuidName(String uuidName) {
String sql = "select count(*) as share_count from share where uuidName=?";
Object[] params = { uuidName };
RSProcessor getResultProcessor = new RSProcessor() {
public Object process(ResultSet rs) throws SQLException {
int count = 0;
if (rs != null) {
if (rs.next()) {
count = rs.getInt("share_count");
}
}
return new Integer(count);
}
};
return (Integer) this.executeQuery(getResultProcessor, sql, params);
}
@Override
public String findKeyByUuidName(String uuidName) {
String sql = "select keyword from share where uuidName = ?";
Object[] params = { uuidName };
RSProcessor getResultProcessor = new RSProcessor() {
public Object process(ResultSet rs) throws SQLException {
String key = null;
if (rs != null) {
if (rs.next()) {
key = rs.getString("keyword");
}
}
return key;
}
};
return (String) this.executeQuery(getResultProcessor, sql, params);
}
@SuppressWarnings("unchecked")
@Override
public Vector<Share> getHotShare() {
String sql = "select * from share order by downloads desc limit 12";
Object[] params = {};
RSProcessor getResultProcessor = new RSProcessor() {
public Object process(ResultSet rs) throws SQLException {
Vector<Share> shares = new Vector<Share>();
while (rs.next()) {
String user = rs.getString("user");
String uuidName = rs.getString("uuidName");
String url = rs.getString("url");
String shareTime = rs.getString("shareTime");
String key = rs.getString("keyword");
int downloads = rs.getInt("downloads");
long size = rs.getLong("size");
Share share = new Share(user, uuidName, url, shareTime, key, downloads, size);
shares.add(share);
}
return shares;
}
};
return (Vector<Share>) this.executeQuery(getResultProcessor, sql, params);
}
@Override
public int countDownloads() {
String sql = "select sum(downloads) as sumDowmloads from share";
RSProcessor getResultProcessor = new RSProcessor() {
public Object process(ResultSet rs) throws SQLException {
int count = 0;
if (rs != null) {
if (rs.next()) {
count = rs.getInt("sumDowmloads");
}
}
return new Integer(count);
}
};
return (Integer) this.executeQuery(getResultProcessor, sql);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源介绍】 基于javaweb的仿照百度网盘的小型云盘系统源码+sql数据库.zip 该项目是个人毕设项目,答辩评审分达到95分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 欢迎下载交流,互相学习,共同进步! 基于javaweb的仿照百度网盘的小型云盘系统源码+sql数据库.zip基于javaweb的仿照百度网盘的小型云盘系统源码+sql数据库.zip基于javaweb的仿照百度网盘的小型云盘系统源码+sql数据库.zip基于javaweb的仿照百度网盘的小型云盘系统源码+sql数据库.zip基于javaweb的仿照百度网盘的小型云盘系统源码+sql数据库.zip
资源推荐
资源详情
资源评论
























收起资源包目录





































































































共 205 条
- 1
- 2
- 3
资源评论


onnx
- 粉丝: 1w+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大模型检索增强生成技术最佳实践
- 费斯托电磁阀的选型手册
- STM32F407 基于同一定时器不同通道输出PWM,各个通道PWM占空比可调
- 《Modbus:工业通信的基石与发展》,详细介绍Modbus协议的起源、发展、工作原理、优势与局限、应用场景及其未来发展趋势
- 组件数据库系统:原理与应用
- his服务器服务情况备份0822
- 欧姆龙漫反光电选型手册
- 【C语言开发】函数指针及其数组、typedef关键字详解:创建、使用及应用技巧
- 大模型 LLM 系列相关的课程资料
- ImTip 智能桌面助手:仅 832 KB,提供输入跟踪提示 + 超级热键 + AI 助手,可将各种桌面应用快速接入 AI 大模型
- 学无止境paddeyhgf
- 基于OpenVINO,本地部署大模型智能体Agent,控制TonyPi人形机器人
- 计算神经科学:第二届拉丁美洲研讨会精选论文
- 基于OpenVINO,本地部署大模型智能体Agent,控制TonyPi人形机器人
- 基于Web的免费多目标并发反向Shell连接平台-支持自定义ID关联的实时视频监控与网络安全预警系统-用于渗透测试和合法安全研究的在线工具集-集成反向Shell生成器-CyberC.zip
- 系统生物学中的计算方法进展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
