dao方法:
package com.ruojuan.Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.ruojuan.entity.News;
import com.ruojuan.util.DBHelper;
/**
* 新闻的增删改查
* @author 刘若娟
*
* 2022年4月5日下午5:39:06
*/
public class NewsDao {
//扩大作用域
//三兄弟
private Connection con = null;
private PreparedStatement ps = null;
private ResultSet rs = null;
/**
* 查询新闻的id 标题,作者
* @return 新闻的集合
*
*/
public List<News> getAll(){
List<News> ls=new ArrayList<News>();
try {
//创建连接
con=DBHelper.getCon();
//定义sql语句
String sql="select nid,ntitle,nauthor from news280 order by nid desc";
//获得执行对象
ps=con.prepareStatement(sql);
//获得结果集
rs=ps.executeQuery();
//循环遍历
while(rs.next()){
//实例化新闻对象
News n=new News();
//给对象赋值
n.setNid(rs.getInt(1));
n.setNtitle(rs.getString(2));
n.setNauthor(rs.getString(3));
//加到集合中
ls.add(n);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBHelper.myClose(con, ps, rs);
}
return ls;
}
//增加新闻
public int addNew(News ns) {
int n = 0;
try {
con = DBHelper.getCon();
String sql="select nvl(max(nid),0) from tb_news";
//out.print(sql);
//获得执行对象
ps=con.prepareStatement(sql);
//获得结果集
rs=ps.executeQuery();
//扩大作用域
int nid = 0;
//判断
if(rs.next()){
//最大序号+1
nid = rs.getInt(1)+1;
}
//实现增加=插入操作
sql = "insert into tb_news(nid,tid,ntitle,nauthor,nsummary,ncontent,naddtime) values(?,?,?,?,?,?,?)";
//执行sql语句
ps = con.prepareStatement(sql);
//给占位符赋值
ps.setInt(1, ns.getNid());
ps.setInt(2, ns.getTid());
ps.setString(3,ns.getNtitle());
ps.setString(4, ns.getNauthor());
ps.setString(5, ns.getNsummary());
ps.setString(6, ns.getNcontent());
ps.setString(7, ns.getNaddtime());
//获得影响行数
n = ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}finally {
DBHelper.myClose(con, ps, null);
}
return n;
}
//删除新闻
public int deleteNew(int nid) {
int n = 0;
try {
con = DBHelper.getCon();
String sql="delete from tb_news where nid="+nid;
//获得执行对象
ps=con.prepareStatement(sql);
//给占位符赋值
ps.setInt(1, nid);
//开始执行
n=ps.executeUpdate();//影响行数
} catch (Exception e) {
// TODO: handle exception
}finally {
DBHelper.myClose(con, ps, null);
}
return n;
}
//修改新闻
public int updateNew(News ns,int nid) {
int n = 0;
try {
con = DBHelper.getCon();
String sql="update tb_news set tid=?,ntitle=?,nauthor=?,nsummary=?,ncontent=?,naddtime=? where nid=?";
ps=con.prepareStatement(sql);
//给占位符赋值
ps.setInt(1, ns.getTid());
ps.setString(2, ns.getNtitle());
ps.setString(3, ns.getNauthor());
ps.setString(4, ns.getNsummary());
ps.setString(5, ns.getNcontent());
ps.setString(6, ns.getNaddtime());
ps.setInt(7, nid);
//获得影响行数
n = ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
DBHelper.myClose(con, ps, null);
}
return n;
}
}
增加:
增加的逻辑处理页面:
删除:
删除的逻辑处理页面:
修改:
修改的逻辑处理页面:
查看:
查看的逻辑处理页面: