oracle标识列的实现与iframe的使用 oracle的分页代码实现 查看 修改 删除

31 篇文章 1 订阅
24 篇文章 0 订阅
本文介绍了如何在Oracle数据库中创建序列和触发器以实现标识列自增,并展示了JSP页面中利用iframe进行内容切换的实现方式。同时,详细讲解了分页功能的实体类和DAO方法,包括查询所有数据、分页查询以及增删改操作。内容涵盖数据库设计和Web前端交互,为理解数据库与JSP应用提供了实例。
摘要由CSDN通过智能技术生成

oracle标识列实现:

1、创建序列#
 create sequence 序列名
 increment by 1
 start with 1
 maxvalue 999999999;
 
 
2、创建触发器#
 create or replace trigger 触发器名
   before 
      insert on 表名
   for each row
 declare
   -- local variables here
 begin
   SELECT 序列名.Nextval  INTO :NEW.自增列 FROM DUAL;
 end 触发器名; 

iframe的实现跳转 通过name属性改变跳转地址

主页:

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>新闻发布系统-后台主页</title>
		<link rel="stylesheet" type="text/css" href="css/admin.css" />
		<style>
			#myLeft ul li a{
				display: inline-block;
				width: 178px;
				border: 1px solid red;
				text-align: center;
				height: 35px;
				line-height: 30px;
				cursor: pointer;
				background: orange;
				font-size: 16px;
				font-weight: bold;
			}
			#myLeft ul li a:hover{
				background: pink;
				color:green;
			}
		
		</style>
	</head>
	<body>
		<div id="header">
			<div id="welcome">欢迎使用新闻管理系统!</div>
			<div id="nav">
				<div id="logo"><img src="images/logo.jpg" alt="新闻中国" /></div>
				<div id="a_b01"><img src="images/a_b01.gif" alt="" /></div>
			</div>
		</div>
		<div id="admin_bar">
			<div id="status">管理员:<%=request.getParameter("username") %> &#160;&#160;&#160;&#160; <a href="#">login out</a></div>
			<div id="channel"> </div>
		</div>
		
		<div id = "myMain" style = "width: 947px;height:300px;background: pink;margin:0 auto;">
			<div id = "myLeft" style = "width: 180px;height:300px;background: yellow;float:left">
				<ul style = "list-style: none;">
					<li><a href = "systemIndex.jsp" target = "myRight">系统首页</a></li>
					<li><a href = "systemEdit.jsp" target = "myRight">系统用户维护</a></li>
					<li><a>注册用户管理</a></li>
					<li><a>新闻发布</a></li>
					<li><a>新闻分类管理</a></li>
					<li><a>新闻信息管理</a></li>
					<li><a>评论管理</a></li>
					<li><a>公告管理</a></li>
				</ul>
			</div>
			
			<div id = "myRight"style = "width: 760px;height:300px;background: green;float:right;">
				<!-- 锚点 -->
				<iframe name = "myRight" src ="systemIndex.jsp" width="100%" height = "100%"></iframe>
			</div>
		
		</div>
		
		
		
		
		<div id="site_link"> <a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span> <a href="#">联系我们</a><span>|</span>
			<a href="#">广告服务</a><span>|</span> <a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span> <a href="#">招聘信息</a><span>|</span>
			<a href="#">网站地图</a><span>|</span> <a href="#">留言反馈</a> </div>
		<div id="footer">
			<p class="">24小时客户服务热线:010-68988888 &#160;&#160;&#160;&#160; <a href="#">常见问题解答</a> &#160;&#160;&#160;&#160;
				新闻热线:010-627488888<br />
				文明办网文明上网举报电话:010-627488888 &#160;&#160;&#160;&#160; 举报邮箱:<a href="#">jubao@jb-aptech.com.cn</a></p>
			<p class="copyright">Copyright &copy; 1999-2009 News China gov, All Right Reserver<br />
				新闻中国 版权所有</p>
		</div>
	</body>
</html>

跳转的两个界面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>这是systemEdit.jsp页面</h1>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>欢迎系统用户进入后台主页面</h1>
	<h5>当前系统时间:2022年12月12日 12:12:12</h5>
</body>
</html>

jsp页面实现分页功能

分页实体类:

package com.baidu.entity;
/*
 * 分页实体类
 */
 
import java.util.List;
 
public class Paginate<T> {
//总条数
private int count;
//当前页
private int pageindx;
//每一页数据条数
private int index;
//  1 and 条数
private int start;
//当前的页码
private int end;
//总页数
private int yeshu;
//获取的数据集合
private List<T> list;
public Paginate() {
	// TODO Auto-generated constructor stub
}
 
 
public Paginate(int count, int pageindx, int index) {
	super();
	this.count = count;
	this.pageindx = pageindx;
	this.index = index;
	
	if(count%index==0) {
		this.yeshu=count/index;
	}else {
		this.yeshu=(count/index)+1;
	}
	this.start=(pageindx-1)*index+1;
	this.end=index*pageindx;
	
	//this.list = list;
}
 
 
 
 
public int getCount() {
	return count;
}
public void setCount(int count) {
	this.count = count;
}
public int getPageindx() {
	return pageindx;
}
public void setPageindx(int pageindx) {
	this.pageindx = pageindx;
}
public int getIndex() {
	return index;
}
public void setIndex(int index) {
	this.index = index;
}
public int getStart() {
	return start;
}
public void setStart(int start) {
	this.start = start;
}
public int getEnd() {
	return end;
}
public void setEnd(int end) {
	this.end = end;
}
public int getYeshu() {
	return yeshu;
}
public void setYeshu(int yeshu) {
	this.yeshu = yeshu;
}
public List<T> getList() {
	return list;
}
public void setList(List<T> list) {
	
	this.list = list;
}
 
 
	
	
}

增删改到方法封存:

package com.baidu.dao;
 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
 
import com.baidu.entity.NewsXwFb;
import com.baidu.entity.Paginate;
import com.baidu.utlis.DBHelper;
 
/*
 * 新闻发布dao方法
 */
public class XwFbDao {
 
/*
 * 新增新闻的方法
 */
	public int addXw(NewsXwFb xw) {
		int n=0;
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		try{
			conn=DBHelper.getConn();
			String sql="insert into tb_news values(?,?,?,?,?,?,?,to_date(?,'yyyy-mm-dd hh24:mi:ss'),?)";
			ps=conn.prepareStatement(sql);
		ps.setInt(1, xw.getNid());
		ps.setInt(2, xw.getNtid());
	    ps.setString(3, xw.getNtitle());
	    ps.setString(4, xw.getNauthor());
	    ps.setString(5, xw.getNsummary());
	    ps.setString(6, xw.getNcontent());
	    ps.setString(7, xw.getNimage());
	    ps.setString(8, xw.getNdate());
	    ps.setInt(9, xw.getNcount());
	    n=ps.executeUpdate();
		}catch(Exception e){
			e.printStackTrace();
		}finally{
 
		DBHelper.myClose(conn, ps, rs);
		}
		
		return n;
	}
	/**
	 * 查询所有的方法
	 */
	public List<NewsXwFb> XwAll() {
		
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		List<NewsXwFb> list=new ArrayList<>();
		try{
			conn=DBHelper.getConn();
			String sql="select * from tb_news";
			ps=conn.prepareStatement(sql);
		  rs=ps.executeQuery();
		  while(rs.next()) {
			list.add(new NewsXwFb(rs.getInt(1), rs.getInt(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8), rs.getInt(9)));  
		  }
	   
		}catch(Exception e){
			e.printStackTrace();
		}finally{
 
		DBHelper.myClose(conn, ps, rs);
		}
		
		return list;
	}
	/**
	 * 分页查询
	 */
public List<NewsXwFb> XwAll(Paginate<NewsXwFb> pg) {
		
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		List<NewsXwFb> list=new ArrayList<>();
		try{
			conn=DBHelper.getConn();
			String sql="select b.* from(select a.*,rownum as rid from tb_news a)b where b.rid between "+pg.getStart()+" and "+pg.getEnd();
			ps=conn.prepareStatement(sql);
		  rs=ps.executeQuery();
		  while(rs.next()) {
			list.add(new NewsXwFb(rs.getInt(1), rs.getInt(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8), rs.getInt(9)));  
		  }
	   
		}catch(Exception e){
			e.printStackTrace();
		}finally{
 
		DBHelper.myClose(conn, ps, rs);
		}
		
		return list;
	}
/**
 * 
 * 简化分页参数 查询
 * @pag 当前页面 第几页
 * @indx 每一页的数据
 */
public List<NewsXwFb> XwAll(int pag, int indx) {
	
	return  XwAll(new Paginate<>(XwAll().size(), pag, indx));
	
}
/**
 * 删除新闻的方法
 * @param args
 */
public int deleteId(int sid) {
	int n=0;
	
	Connection conn=null;
	PreparedStatement ps=null;
	ResultSet rs=null;
	try{
		conn=DBHelper.getConn();
		String sql="delete from tb_news where nid="+sid;
		ps=conn.prepareStatement(sql);
	
    n=ps.executeUpdate();
	}catch(Exception e){
		e.printStackTrace();
	}finally{
 
	DBHelper.myClose(conn, ps, rs);
	}
	
	return n;
}
 
/**
 * 查询单个的方法
 * @param args
 */
public NewsXwFb nidAll(int sid) {
	
	Connection conn=null;
	PreparedStatement ps=null;
	ResultSet rs=null;
	NewsXwFb nxw=null;
	try{
		conn=DBHelper.getConn();
		String sql="select * from tb_news where nid="+sid;
		ps=conn.prepareStatement(sql);
	  rs=ps.executeQuery();
	  if(rs.next()) {
		nxw=new NewsXwFb(rs.getInt(1), rs.getInt(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8), rs.getInt(9));  
	  }
   
	}catch(Exception e){
		e.printStackTrace();
	}finally{
 
	DBHelper.myClose(conn, ps, rs);
	}
	
	return nxw;
}
/*
 * 修改新闻的dao方法
 */
public int updateXw(NewsXwFb xw,int sid) {
	int n=0;
	Connection conn=null;
	PreparedStatement ps=null;
	ResultSet rs=null;
	try{
		conn=DBHelper.getConn();
		//String sql="insert into tb_news values(?,?,?,?,?,?,?,to_date(?,'yyyy-mm-dd hh24:mi:ss'),?)";
		String sql="update  tb_news set ntid=?,ntitle=?,nauthor=?,nsummary=?,ncontent=?,nimage=?,ndate=to_date(?,'yyyy-mm-dd hh24:mi:ss'),ncount=? where nid=?";
		ps=conn.prepareStatement(sql);
	
	ps.setInt(1, xw.getNtid());
    ps.setString(2, xw.getNtitle());
    ps.setString(3, xw.getNauthor());
    ps.setString(4, xw.getNsummary());
    ps.setString(5, xw.getNcontent());
    ps.setString(6, xw.getNimage());
    ps.setString(7, xw.getNdate());
    ps.setInt(8, xw.getNcount());
    ps.setInt(9, sid);
    n=ps.executeUpdate();
	}catch(Exception e){
		e.printStackTrace();
	}finally{
 
	DBHelper.myClose(conn, ps, rs);
	}
	
	return n;
}
 
 
public static void main(String[] args) {
	System.out.println(new XwFbDao().XwAll(new Paginate<>(new XwFbDao().XwAll().size(), 1, 2)).size());
	System.out.println(new XwFbDao().XwAll().size());
	System.out.println(new XwFbDao().XwAll(1, 2));
}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值