package com.softeem.dao.impl;
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 com.softeem.dao.PhotoDAO;
import com.softeem.pp.dbutil.DBConnection;
import com.softeem.pp.dto.Photo;
public class PhotoDAOImpl implements PhotoDAO {
private Connection conn;
private PreparedStatement ps;
private ResultSet rs;
/**
* 图片添加
*/
public boolean addPhoto(Photo p) {
String sql = "insert into tb_photo(p_name,p_uploadtime,p_discription,a_id) values(?,?,?,?)";
try {
//获取连接
conn = DBConnection.getConn();
//获得预处理命令
ps = conn.prepareStatement(sql);
//预处理
ps.setString(1, p.getPname());
ps.setDate(2, new java.sql.Date(System.currentTimeMillis()));
ps.setString(3, p.getPdiscription());
ps.setInt(4, p.getAid());
//执行
int i = ps.executeUpdate();
if(i>0){
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
/**
* 删除照片
*/
public boolean delPhotoByAid(int aid) {
String sql = "delete from tb_photo where a_id=?";
try {
conn = DBConnection.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, aid);
int i = ps.executeUpdate();
if(i>=0){
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public List<Photo> findByAid(int aid,int pageSize,int currentPage) {
String sql = "select * from tb_photo where a_id=? limit ?,?";
List<Photo> list = new ArrayList<Photo>();
try {
conn = DBConnection.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, aid);
ps.setInt(2, (currentPage-1)*pageSize);
ps.setInt(3, pageSize);
rs = ps.executeQuery();
while(rs.next()){
Photo p = new Photo();
p.setAid(aid);
p.setPdiscription(rs.getString("p_discription"));
p.setPid(rs.getInt("p_id"));
p.setPname(rs.getString("p_name"));
p.setPuploadTime(rs.getDate("p_uploadtime"));
//将遍历到的每一个对象存放到集合中
list.add(p);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
/**
* 根据照片ID删除照片
*/
public boolean delPhotoByPid(int pid) {
String sql = "delete from tb_photo where p_id=?";
conn = DBConnection.getConn();
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, pid);
int i = ps.executeUpdate();
if(i>0){
return true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
/**
* 获得指定相册照片的总页数
*/
public int getTotalPage(int aid, int pageSize) {
int totalPage = 0;
int totalNum = getTotalNum(aid);
if(totalNum % pageSize == 0 ){
totalPage = totalNum/pageSize;
}else{
totalPage = totalNum/pageSize+1;
}
return totalPage;
}
/**
* 查询单张照片
*/
public Photo findByPid(int pid) {
String sql = "select * from tb_photo where p_id=?";
Photo p = null;
try {
conn = DBConnection.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, pid);
rs = ps.executeQuery();
if(rs.next()){
p = new Photo();
p.setAid(rs.getInt("a_id"));
p.setPdiscription(rs.getString("p_discription"));
p.setPname(rs.getString("p_name"));
p.setPuploadTime(rs.getDate("p_uploadtime"));
p.setPid(pid);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBConnection.close(rs, ps, conn);
}
return p;
}
/**
* 获得照片总数
*/
public int getTotalNum(int aid) {
String sql = "select count(*) from tb_photo where a_id=?";
int totalNum = 0;
try {
conn = DBConnection.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, aid);
rs = ps.executeQuery();
if(rs.next()){
totalNum = rs.getInt(1);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return totalNum;
}
public List<Photo> findAll(int aid) {
String sql = "select * from tb_photo where a_id=?";
List<Photo> list = new ArrayList<Photo>();
try {
conn = DBConnection.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, aid);
rs = ps.executeQuery();
while(rs.next()){
Photo p = new Photo();
p.setAid(aid);
p.setPdiscription(rs.getString("p_discription"));
p.setPid(rs.getInt("p_id"));
p.setPname(rs.getString("p_name"));
p.setPuploadTime(rs.getDate("p_uploadtime"));
//将遍历到的每一个对象存放到集合中
list.add(p);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
/**
* 照片查询
*/
public List<Photo> queryPhoto(String sql, int pageSize, int currentPage) {
List<Photo> photos = new ArrayList<Photo>();
try {
conn = DBConnection.getConn();
ps = conn.prepareStatement(sql);
ps.setInt(1, (currentPage-1)*pageSize);
ps.setInt(2, pageSize);
rs = ps.executeQuery();
while(rs.next()){
Photo p = new Photo();
p.setAid(rs.getInt("a_id"));
p.setPdiscription(rs.getString("p_discription"));
p.setPid(rs.getInt("p_id"));
p.setPname(rs.getString("p_name"));
p.setPuploadTime(rs.getDate("p_uploadtime"));
//将遍历到的每一个对象存放到集合中
photos.add(p);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return photos;
}
public int getTotalPage(String sql, int pageSize) {
int totalNum = 0;
int totalPage = 0;
try {
conn = DBConnection.getConn();
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
if(rs.next()){
totalNum = rs.getInt(1);
}
if(totalNum%pageSize == 0){
totalPage = totalNum/pageSize;
}else{
totalPage = totalNum/pageSize+1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return totalPage;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
个人相册管理系统
共81个文件
class:22个
java:22个
jsp:16个
5星 · 超过95%的资源 需积分: 50 122 下载量 198 浏览量
2013-07-14
13:15:34
上传
评论 15
收藏 1.21MB ZIP 举报
温馨提示
本系统使用JSP+Servlet+JDBC开发完成的,有点类似QQ空间相册管理,其中使用SmartUpload插件上传图片,图片上传到服务器,数据库里边存放的是路径。
资源推荐
资源详情
资源评论
收起资源包目录
final.zip (81个子文件)
final
用户手册
源码
personal_photo02
.project 1KB
.settings
.jsdtscope 500B
org.eclipse.jdt.core.prefs 330B
com.genuitec.eclipse.j2eedt.core.prefs 1KB
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
.mymetadata 322B
WebRoot
showAlbum.jsp 2KB
updatePassword.jsp 4KB
ShowSinglePhoto.jsp 4KB
createSuccess.jsp 1KB
WEB-INF
web.xml 6KB
lib
SmartUpload.jar 16KB
mysql-connector-java-5.0.3-bin.jar 482KB
classes
com
softeem
dao
impl
AlbumDAOImpl.class 5KB
UserDAOImpl.class 4KB
PhotoDAOImpl.class 6KB
AlbumDAO.class 534B
UserDAO.class 416B
PhotoDAO.class 717B
pp
dbutil
DBConnection.class 2KB
servlet
DelAlbumServlet.class 2KB
ShowPhotoByAlbumServlet.class 2KB
ShowUserServlet.class 2KB
PhotoUploadServlet.class 3KB
DelPhotoServlet.class 2KB
QueryPhotoServlet.class 3KB
ShowSinglePhotoServlet.class 2KB
UserServlet.class 3KB
UpdatePassWordServlet.class 2KB
AddAlbumServlet.class 2KB
FindAlbumServlet.class 2KB
FindAlbumByUserServlet.class 3KB
dto
User.class 1KB
Photo.class 1KB
Album.class 1KB
photos
addPhoto_main.jsp 3KB
loginAndRegister.jsp 4KB
showPhotoByAlbum.jsp 3KB
META-INF
MANIFEST.MF 36B
noresults.jsp 966B
top.jsp 2KB
addAlbum.jsp 2KB
showAllUser.jsp 3KB
img
admin.png 2KB
up.emf 12KB
show.png 2KB
remove.png 1KB
down.emf 12KB
test.jpg 26KB
left.jsp 2KB
main.jsp 856B
QueryPhoto.jsp 1KB
addPhoto.jsp 3KB
QueryPhotoResult.jsp 3KB
src
com
softeem
dao
AlbumDAO.java 982B
impl
PhotoDAOImpl.java 6KB
AlbumDAOImpl.java 5KB
UserDAOImpl.java 3KB
UserDAO.java 640B
PhotoDAO.java 1KB
pp
dbutil
DBConnection.java 1KB
servlet
QueryPhotoServlet.java 2KB
ShowUserServlet.java 1KB
PhotoUploadServlet.java 2KB
UpdatePassWordServlet.java 2KB
FindAlbumByUserServlet.java 2KB
UserServlet.java 2KB
ShowPhotoByAlbumServlet.java 2KB
DelAlbumServlet.java 1KB
ShowSinglePhotoServlet.java 1KB
AddAlbumServlet.java 2KB
DelPhotoServlet.java 2KB
FindAlbumServlet.java 1KB
dto
Album.java 833B
User.java 731B
Photo.java 828B
.classpath 529B
项目部署
personal_photo02.war 566KB
开发文档
开发文档.wps 132KB
数据库脚本
pp.sql 8KB
共 81 条
- 1
资源评论
- WEIDUOLIYAEN2018-09-04谢谢,可以用
- u0108326292015-09-15可以用,值得借鉴。
- 秋水寒刀2015-04-12不错,很清楚明白
鞋子特大号007
- 粉丝: 7
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功