新建一个Dynamic Web project项目
先导入这两个包 jstl-1.2.jre, ojdbc6.jre
我的sql是写在servlet层就没有写在Dao层了
大家可以自己修改一下就可以了
有需要的朋友就参考一下吧
下面是项目的结构目录
新建common 文件夹
新建taglib标签库
导入uri地址
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
这里使用的是Oracle自带的表
实体类 entity
package com.lizi.entity;
import java.sql.Date;
public class News {
private int nid; //序号
private String title;//新闻标题
private String content1;//新闻内容
private Date publishTime; //发表时间
private String author;//作者
public News() {}//
public News(String title, String content1, Date publishTime, String author) {
this.title = title;
this.content1 = content1;
this.publishTime = publishTime;
this.author = author;
}
public News(int nid, String title, Date publishTime, String author) {
this.nid = nid;
this.title = title;
this.publishTime = publishTime;
this.author = author;
}
public News(int nid, String title, String content1, Date publishTime, String author) {
this.nid = nid;
this.title = title;
this.content1 = content1;
this.publishTime = publishTime;
this.author = author;
}
public int getNid() {
return nid;
}
public void setNid(int nid) {
this.nid = nid;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent1() {
return content1;
}
public void setContent1(String content1) {
this.content1 = content1;
}
public Date getPublishTime() {
return publishTime;
}
public void setPublishTime(Date publishTime) {
this.publishTime = publishTime;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
Dao层
package com.lizi.Dao;
import java.util.ArrayList;
import com.lizi.entity.News;
public interface InewsDao {
//查询所有
public ArrayList<News> queryNews(String sql);
//增删改通用
public boolean exeUpdate(String sql,Object[] obj);
//按Id查询
public ArrayList<News> queryByNews(String sql,String Id);
}
Dao层的实现类
package com.lizi.Dao.impl;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import com.lizi.Dao.InewsDao;
import com.lizi.entity.News;
import com.lizi.util.DBUtil;
public class NewsDaoimpl implements InewsDao {
//查询所有
@Override
public ArrayList<News> queryNews(String sql) {
//初始化数据
Connection conn=null;
PreparedStatement ps=null;
ResultSet rSet=null;
ArrayList<News> list=new ArrayList<>();
try {
//连接数据库
conn=DBUtil.getConn();
//设置预编译对象
ps=DBUtil.getPreparedStatement(conn, sql);
//拿到结果集
rSet=ps.executeQuery();
//循环
while(rSet.next()) {
int nid=rSet.getInt(1);
String title=rSet.getString(2);
String content1=rSet.getString(3);
Date publishTime=rSet.getDate(4);
String author =rSet.getString(5);
list.add(new News(nid, title,content1, publishTime, author));
System.out.println(list);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DBUtil.closeAll(conn, ps, rSet);
}
return list;
}
//增删改通用
@Override
public boolean exeUpdate(String sql, Object[] obj) {
boolean flag=false;
//初始化数据
Connection conn=null;
PreparedStatement ps=null;
try {
//连接数据库
conn=DBUtil.getConn();
//设置预编译对象
ps=DBUtil.getPreparedStatement(conn,