package com.handson.model.dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.handson.model.connection.DBSession;
import com.handson.model.connection.DataAccess;
import com.handson.model.vo.Classes;
import com.handson.model.vo.News;
import com.handson.model.vo.NewsUser;
import com.handson.model.vo.Page;
public class NewsDAO extends BaseDAO {
private NewsDAO() {
}
private List pageList = null;
private static NewsDAO newsdao;
public static synchronized BaseDAO getNewsDAO() {
if (newsdao == null) {
newsdao = new NewsDAO();
}
return newsdao;
}
public List getAll() {
List<News> list = new ArrayList<News>();
DataAccess dataAccess = DataAccess.getDataAccess();
DBSession dbSession = dataAccess.getDbSession();
Statement stmt = dbSession.createStatement();
ResultSet rs = null;
try {
rs = stmt.executeQuery("select * from news,classes where news.classid=classes.classid order by newid desc");
while (rs.next()) {
News news = new News();
Classes classes = new Classes();
news.setNewId(rs.getInt("newid"));
news.setNewstitle(rs.getString("newstitle"));
news.setNewsDate(rs.getString("newsdate"));
news.setNewSource(rs.getString("newsource"));
news.setHits(rs.getInt("hits"));
classes.setClassName(rs.getString("classname"));
news.setClasses(classes);
list.add(news);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
dbSession.resultsetClose(rs);
dbSession.stmtClose(stmt);
dbSession.connClose();
}
return list;
}
public boolean remove(Object keyid) {
boolean flag = false;
int key = ((Integer) keyid).intValue();
DataAccess dataAccess = DataAccess.getDataAccess();
DBSession dbsession = dataAccess.getDbSession();
String sql = "delete from news where newid=?";
PreparedStatement pstmt = dbsession.PreparedStatement(sql);
try {
pstmt.setInt(1, key);
int count = pstmt.executeUpdate();
if (count == 1) {
flag = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
dbsession.prepstmtClose(pstmt);
dbsession.connClose();
}
return flag;
}
public Object querybyid(int keyid) {
News news = new News();
DataAccess dataAccess = DataAccess.getDataAccess();
DBSession dbSession = dataAccess.getDbSession();
Statement stmt = dbSession.createStatement();
ResultSet rs = null;
try {
rs = stmt
.executeQuery("select * from news,classes,news_user where news.classid=classes.classid and news.userid=news_user.userid and newid="
+ keyid);
while (rs.next()) {
NewsUser newsUser = new NewsUser();
Classes classes = new Classes();
news.setNewId(rs.getInt("newid"));
news.setNewstitle(rs.getString("newstitle"));
news.setClassId(rs.getInt("classid"));
news.setNewsDate(rs.getString("newsdate"));
news.setNewsKey(rs.getString("newskey"));
news.setNewSource(rs.getString("newsource"));
news.setNewsContent(rs.getString("newscontent"));
news.setHits(rs.getInt("hits"));
news.setMonthHits(rs.getInt("monthhits"));
classes.setItemId(rs.getInt("itemid"));
news.setClasses(classes);
newsUser.setUserName(rs.getString("username"));
news.setNewsuser(newsUser);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
dbSession.resultsetClose(rs);
dbSession.stmtClose(stmt);
dbSession.connClose();
}
return news;
}
public List querybyAttribute(String value, String type,Page page) {
int currentpage=page.getCurrentPageNum();
int OnePageInfoNums=page.getOnePageInfoNums();
List<News> list = new ArrayList<News>();
DataAccess dataAccess = DataAccess.getDataAccess();
DBSession dbSession = dataAccess.getDbSession();
String sql = "select * from news,classes where news.classid=classes.classid and "
+ type + " like '%" + value + "%'";
Statement stmt = dbSession.createStatement();
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
int infoNums = this.getRsRowNums(rs);
int pageNums = infoNums % OnePageInfoNums == 0?infoNums / OnePageInfoNums :(infoNums / OnePageInfoNums)+1;
Page pages=new Page();
pages.setCurrentPageNum(currentpage);
pages.setOnePageInfoNums(OnePageInfoNums);
pages.setPageNums(pageNums);
pages.setInfoNums(infoNums);
List<Page> pageList = new ArrayList<Page>();
pageList.add(pages);
this.setPageList(pageList);
if(currentpage !=0 && infoNums > currentpage * OnePageInfoNums){
rs.absolute(currentpage * OnePageInfoNums);
}
int n=0;
while (rs.next()) {
n++;
News news = new News();
Classes classes = new Classes();
news.setNewId(rs.getInt("newid"));
news.setNewstitle(rs.getString("newstitle"));
news.setNewsDate(rs.getString("newsdate"));
news.setNewSource(rs.getString("newsource"));
news.setHits(rs.getInt("hits"));
classes.setClassName(rs.getString("classname"));
news.setClasses(classes);
list.add(news);
if(n==OnePageInfoNums)
{
break;
}
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
dbSession.resultsetClose(rs);
dbSession.stmtClose(stmt);
dbSession.connClose();
}
return list;
}
public boolean insert(Object news) {
boolean flag = false;
News newss = (News) news;
DataAccess dataAccess = DataAccess.getDataAccess();
DBSession dbsession = dataAccess.getDbSession();
String sql = "insert into news(newstitle,classid,newsdate,newskey,newsource,newscontent,userid) values(?,?,?,?,?,?,?)";
PreparedStatement pstmt = dbsession.PreparedStatement(sql);
try {
pstmt.setString(1, newss.getNewstitle());
pstmt.setInt(2, newss.getClassId());
pstmt.setString(3, newss.getNewsDate());
pstmt.setString(4, newss.getNewsKey());
pstmt.setString(5, newss.getNewSource());
pstmt.setString(6, newss.getNewsContent());
pstmt.setInt(7, newss.getUserId());
int count = pstmt.executeUpdate();
if (count == 1) {
flag = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
dbsession.prepstmtClose(pstmt);
dbsession.connClose();
}
return flag;
}
public boolean removemore(String[] newsid) {
boolean flag = true;
DataAccess dataAccess = DataAccess.getDataAccess();
DBSession dbSession = dataAccess.getDbSession();
Statement stmt = dbSession.createStatement();
try {
for (int i = 0; i < newsid.length; i++) {
stmt.addBatch("delete from news where newid=" + newsid[i]);
}
int[] result = stmt.executeBatch();
for (int i = 0; i < result.length; i++) {
if (result[i] != 1) {
flag = false;
}
}
} catch (SQLException e) {
flag = false;
e.printStackTrace();
} finally {
dbSession.stmtClose(stmt);
dbSession.connClose();
}
return flag;
}
public boolean update(Object newses) {
boolean flag = false;
News news = (News) newses;
DataAccess dataAccess = DataAccess.getDataAccess();
DBSession dbSession = dataAccess.getDbSession();
String sql ="update news set newstitle=?,classid=?,newskey=?,newsource=?,newscontent=? where newid=?";
PreparedStatement pstmt = dbSession.PreparedStatement(sql);
try {
pstmt.setString(1, news.getNewstitle());
pstmt.setInt(2, news.getClassId());
pstmt.setString(3, news.getNewsKey());
pstmt.setString(4, news.getNewSource());
pstmt.setString(5, news.getNewsContent());
pstmt.setInt(6, news.getNewId());
int row = pstmt.executeUpdate();
if (row == 1) {
flag = true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally
没有合适的资源?快使用搜索试试~ 我知道了~
java新闻发布系统
共902个文件
gif:178个
js:159个
jpg:122个
4星 · 超过85%的资源 需积分: 0 167 下载量 149 浏览量
2008-10-04
09:48:29
上传
评论
收藏 5.09MB RAR 举报
温馨提示
该系统是用java编写的,数据库采用了sqlserver,用到了不少技术,比如jstl标签.xml解析等等
资源详情
资源评论
资源推荐
收起资源包目录
java新闻发布系统 (902个子文件)
105cc3589116001d191e8779f636840c 3KB
30e2a5f38116001d191e8779f636840c 6KB
70c127a84b1a001d1e61a8f3d110b8c8 4KB
902690dc8c16001d191e8779f636840c 8KB
9083d96d6a1a001d1f49c2129d5fe8db 2KB
connector.aspx 959B
upload.aspx 930B
b0641dfec615001d1b96fc93d23f4436 8KB
NewsDAO.java.bak 16KB
NewsDAO.java.bak 16KB
style.css.bak 902B
pl.js.bak 826B
c0615977821a001d1f49c2129d5fe8db 2KB
spellchecker.cfm 5KB
NewsDAO.class 14KB
UserDAO.class 8KB
DispatcherServlet.class 8KB
ClassDAO.class 7KB
NewsAction.class 7KB
ItemDAO.class 6KB
LogDAO.class 6KB
UserAction.class 6KB
ItemAction.class 4KB
LogAction.class 4KB
ClassAction.class 3KB
RandomTest.class 3KB
News.class 3KB
PopedomDAO.class 3KB
DBSession.class 2KB
UserFilter.class 2KB
BaseDAO.class 2KB
DataAccess.class 2KB
EncodingFilter.class 2KB
PopedomAction.class 2KB
XMLConfigParser.class 2KB
DatabaseConfigParser.class 1KB
BaseAction.class 1KB
Log.class 1KB
Classes.class 1KB
NewsUser.class 1KB
Items.class 1KB
Page.class 1KB
Factory.class 982B
UserPopedom.class 797B
DAOObject.class 357B
Action.class 330B
.classpath 847B
fck_editor.css 8KB
fck_editor.css 8KB
style.css 8KB
style.css 8KB
fck_editor.css 8KB
fck_dialog.css 2KB
fck_dialog.css 2KB
fck_dialog.css 2KB
fck_editorarea.css 2KB
fck_internal.css 2KB
browser.css 2KB
fck_dialog_common.css 2KB
fck_showtableborders_gecko.css 1KB
fck_universalkey.css 1KB
style.css 902B
spellerStyle.css 888B
d072056bc615001d1b96fc93d23f4436 2KB
state.dat 16KB
state.dat 14KB
4248801460.dat 7KB
4104707838.dat 7KB
variablesAndContainers.dat 3KB
variablesAndContainers.dat 513B
Thumbs.db 228KB
Thumbs.db 147KB
Thumbs.db 98KB
Thumbs.db 41KB
Thumbs.db 32KB
externalLibsTimeStamps 2KB
f0fa7a039315001d1402eb636c48803f 5KB
fck_strip.gif 8KB
fck_strip.gif 4KB
fck_strip.gif 4KB
top_1.gif 4KB
path_1.gif 4KB
keyboard_layout.gif 3KB
logo_fckeditor.gif 2KB
html.gif 1KB
htm.gif 1KB
path_5.gif 1KB
rdp.gif 1KB
path_4.gif 1KB
32file_mb_ad.gif 1KB
32file_cofig_month.gif 1KB
32file_cofig_day.gif 1KB
path_3.gif 1KB
main.gif 1KB
ai.gif 1KB
exit.gif 1KB
embaressed_smile.gif 1KB
main_bg.gif 1KB
teeth_smile.gif 1KB
shades_smile.gif 1KB
共 902 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
-早起的码农
- 粉丝: 629
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论3