后台登陆需登陆+模糊查询分页+主题分页查询

并不是所有人都能进后台管理哦,于是有了这个功能,奇妙吧!

<%
	//判断用户是不是为空
	Object obj = session.getAttribute("a");
	if(obj==null){
		out.print("<script>alert('请您登录');location.href='login.jsp'</script>");
	}
%>

当我们打开网页时,没有登陆,就不会让我们进去,就判断用户是否为空

分页的模糊查询:Sql 语句很重要,以及定义的参数还有传值 

?:传单个值

& :传多个值

为了方便大家查看,我把body段的代码都拿过来,和自己的相对比哦(有很多没打注释,可以和我前一篇发表的参照一下)

<body>
<%
	//判断用户是不是为空
	Object obj = session.getAttribute("a");
	if(obj==null){
		out.print("<script>alert('请您登录');location.href='login.jsp'</script>");
	}
%>
<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">管理员: <%=session.getAttribute("a") %>  

   登录  &#160;&#160;&#160;&#160; <a href="#">login out</a></div>
  <div id="channel"> </div>
</div>
<div id="main">
  <div id="opt_list">
    <ul>
      <li><a href="add_news.jsp">添加新闻</a></li>
    
      
      <li><a href="add_sub.jsp">添加主题</a></li>
      <li><a href="upd_sub.jsp">编辑主题</a></li>
      <li><a href="del_sub.jsp">删除主题</a></li>
      
    </ul>
  </div>
  <div id="opt_area">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <script language="javascript">
	function clickdel(){
		return confirm("删除请点击确认");
	}
	
	function $(id){
		return document.getElementId(id);
	}
	
	
</script>
   <form action="admin.jsp" align="center">
		<input type="text" name="str">
		<input type="submit" value="查询">
	</form>
  <ul class="classlist"> 
      <%
      String str=request.getParameter("str");
     
       if(str==null){
        str="";       
    }
      
     
		Class.forName("oracle.jdbc.OracleDriver");
		String url = "jdbc:oracle:thin:@localhost:1521:orcl";
		Connection con = DriverManager.getConnection(url, "scott", "tiger");
	
		
		PreparedStatement ps = con.prepareStatement("select count(*) from newsb where newstitle like '%"+str+"%'");
		ResultSet rs = ps.executeQuery();
		int count = 0;
		if(rs.next()){
			count = rs.getInt(1);
		}
		
		
		int pageIndex = 1;
		
		String index = request.getParameter("pageIndex");
		if(index!=null){//如果接收到页面,就给页面pageIndex赋值
			pageIndex = Integer.valueOf(index);
		}
		int pageSize = 5;
		
		
		int maxPage = count/pageSize;   
		if(count%pageSize!=0){
			maxPage++;
		}
		
		int start = (pageIndex-1)*pageSize+1;
		int end = pageIndex*pageSize;
		String sql = "select * from(select a.*,rownum mid from newsb a where newstitle like '%"+str+"%')b where mid>=? and mid<=?";
		
		ps = con.prepareStatement(sql);
		ps.setInt(1,start);
		ps.setInt(2, end);
		rs = ps.executeQuery();
		while(rs.next()){
	%>
 <li>
 	<a href="add-look.jsp?nid=<%=rs.getInt(1)%>">
 		<%=rs.getString("newstitle") %>
 	</a>
 <span> 作者:
   <%=rs.getString("newszz") %>                                             
   &#160;&#160;&#160;&#160; <a href='update_news.jsp?nid=<%=rs.getInt(1)%>'>修改</a> &#160;&#160;&#160;&#160; 
   <a href='dodel.jsp?nid=<%=rs.getInt(1) %>' onclick='return clickdel()'>删除</a> </span> </li>
 <li class='space'></li>
 <%} %>
 <p align="right"> 
 		<a href="admin.jsp">首页</a> 
 		<a href="admin.jsp?pageIndex=<%=pageIndex>1?pageIndex-1:1%><%
 				if(str!=null){
 					out.print("&str="+str);
 				}
 				%>
 		
 		">上一页</a>
 		&nbsp;当前页数:[<%=pageIndex %>/<%=maxPage %>]&nbsp; 
 		<a href="admin.jsp?pageIndex=<%=pageIndex<maxPage?pageIndex+1:maxPage%><%
      				if(str!=null){
      					out.print("&str="+str);
      				}
      			%>
      		">下一页</a>
 		<a href="admin.jsp?pageIndex=<%=maxPage%>">末页</a> 
  </p>
</ul>
  </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>

主题查询:sql 语句  定义的值      主外键!!! 传值!!!

index界面:

	<%
        	Class.forName("oracle.jdbc.OracleDriver");
        	String url = "jdbc:oracle:thin:@localhost:1521:orcl";
        	Connection con = DriverManager.getConnection(url, "scott", "tiger");
        	//查询主题
        	PreparedStatement ps = con.prepareStatement("select * from newsfl");
        	ResultSet rs = ps.executeQuery();
        	while(rs.next()){
        	%>
        	<a href='index.jsp?tid=<%=rs.getInt(1)%>'><b> <%=rs.getString(2) %> </b></a>
        	<%} %> 
         </li>
      </ul>
      <ul class="classlist">
        <%
      		//接收新闻主题
      		String id = request.getParameter("tid");
      		String countSql = "select count(*) from newsb";
      		String pageSql = "select * from (select a.*,rownum mid from newsb a)b where mid>=? and mid<=?";
      		int tid = 1;
      		if(id!=null){//要执行 根据主题查询 的 分页
      			tid = Integer.valueOf(id);
      			countSql = "select count(*) from newsb where newstid="+tid;
      			pageSql = "select * from (select a.*,rownum mid from newsb a where newstid="+tid+")b where mid>=? and mid<=?";
      		}
      	
      		//查询新闻总条数
      		ps = con.prepareStatement(countSql);
      		rs = ps.executeQuery();
      		int count = 0;
      		if(rs.next()){
      			count = rs.getInt(1);
      		}
      		
      		//获取页面
      		String index = request.getParameter("pageIndex");
      		int pageIndex = 1;
      		if(index!=null){
				pageIndex = Integer.valueOf(index);      			
      		}
      		//查询新闻
      		int pageSize = 5;
      		//求出最大页码
      		int maxPage = count/pageSize;
      		if(count%pageSize != 0){
      			maxPage++;
      		}
      		int start = (pageIndex-1)*pageSize+1;
      		int end = pageIndex*pageSize;
      		ps = con.prepareStatement(pageSql);
      		ps.setInt(1, start);
      		ps.setInt(2, end);
      		rs = ps.executeQuery();
      		while(rs.next()){
      	      	%>
      	        <li>
      	        	<a href='news_add.html'><%=rs.getString("newstitle") %> </a>
      	       		
      	        </li>
      	        <li class='space'></li>
      	        <%} %>
        <p align="right"> 
        
        
        <a href="index.jsp<%
        		if(id!=null){
        			out.print("?tid="+tid);
        		}
        	%>">首页</a> 
        	<a href="index.jsp?pageIndex=<%=pageIndex>1?pageIndex-1:1%><%
        		if(id!=null){
        			out.print("&tid="+tid);
        		}
        	%>">上一页</a>
        		&nbsp;当前页数:[<%=pageIndex %>/<%=maxPage %>]&nbsp; 
        	<a href="index.jsp?pageIndex=<%=pageIndex<maxPage?pageIndex+1:maxPage%><%
        			if(id!=null){
        				out.print("&tid="+tid);
        			}
        	%>">下一页</a> 
        	<a href="index.jsp?pageIndex=<%=maxPage%><%
        		if(id!=null){
        			out.print("&tid="+tid);
        		}
        	%>">末页</a> 
        </p>

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用SpringBoot和MybatisPlus进行多表分页模糊查询时,要先配置好MybatisPlus的分页插件,然后使用MybatisPlus的Wrapper对象进行多表查询,并且使用Page对象进行分页。 以下是一个示例代码,假设我们有两个实体类:User和Order,其中User有一个关联字段orderId。 ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public Page<User> getUserList(String keyword, Page<User> page) { QueryWrapper<User> userWrapper = new QueryWrapper<>(); userWrapper.like("user_name", keyword).or().like("user_email", keyword); // 模糊查询用户名称和邮箱 QueryWrapper<Order> orderWrapper = new QueryWrapper<>(); orderWrapper.like("order_no", keyword); // 模糊查询订单号 userWrapper.inSql("order_id", SqlHelper.getSqlParser().select("id").from(Order.class).where(orderWrapper).getSql()); // 使用子查询查询关联的订单信息 return userMapper.selectPage(page, userWrapper); } } ``` 在上面的示例代码中,我们首先使用MybatisPlus的QueryWrapper对象进行模糊查询,然后使用inSql方法将查询到的订单id作为子查询的参数,查询关联的订单信息。最后,我们使用MybatisPlus的selectPage方法进行分页查询要注意的是,在使用MybatisPlus的分页插件时,我们要在配置文件中添加以下配置: ```yaml mybatis-plus: page: helper-dialect: mysql reasonable: true ``` 其中,helper-dialect表示数据库方言,reasonable表示是否启用合理化分页

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值