javaweb之模糊查询
模糊查询,主要通过sql语句来进行查询
一.dao层
加入模糊查询的方法
package dao; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; //import com.mysql.cj.protocol.ResultBuilder; import Bean.Course;
import util.DBUtil; public class daoCourse { public boolean add(Course n)
{
boolean f=false;
int a=0;
String sql="insert submitcourse(classname,teachername,place) values(?,?,?)";
try {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,n.getClassname());
pstmt.setString(2,n.getTeachername());
pstmt.setString(3,n.getPlace());
a=pstmt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(a>0) f=true;
return f;
}
public boolean delete(Course n) {
boolean f=false;
int a=0;
String sql="delete from submitcourse where teachername=?";
try {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,n.getTeachername());
a=pstmt.executeUpdate();
System.out.println("fuck you");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(a>0) f=true;
return f;
}
public List<Course> list(){
String sql="select * from submitcourse";
List<Course> list=new ArrayList<>();
ResultSet rs=null;
Course ns=new Course();
try {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
// pstmt.setString(1,n.getTeachername());
rs=pstmt.executeQuery();
while(rs.next())
{
ns=new Course(rs.getString(1),rs.getString(2),rs.getString(3));
list.add(ns);
}
//System.out.println(rs);
System.out.println(rs);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
public boolean update(Course n,String old_teachername){
boolean f=false;
int a=0;
String sql = "update submitcourse set classname='"+n.getClassname()+"',teachername='"+n.getTeachername()+"',place='"+n.getPlace()+"' where teachername='"+old_teachername+"'";
try {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
a=pstmt.executeUpdate();
System.out.println(a);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(a>0) f=true; return f; }
public Course queryByTeachername(String teachername) {
String sql="select * from submitcourse where teachername=?";
Course n=new Course();
try {
ResultSet rs=null;
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,teachername);
rs=pstmt.executeQuery();
while(rs.next()) {
n=new Course(rs.getString(1), rs.getString(2),rs.getString(3));
}
System.out.println("fuck you");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return n ; }
public List<Course> searchByTeachername(String teachername){//模糊查询
List<Course> ns=new ArrayList<Course>();
String sql="select * from submitcourse where teachername like ?";
ResultSet rs=null; try {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1, "%"+teachername+"%");
rs=pstmt.executeQuery();
while(rs.next())
{
Course n=new Course(rs.getString(1),rs.getString(2),rs.getString(3));
ns.add(n);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ns;
}
}
二.servlet层
package servlet; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import Bean.Course;
import dao.daoCourse; /**
* Servlet implementation class course_servlet
*/
@WebServlet("/course_servlet")
public class course_servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
daoCourse gooddao=new daoCourse();
/**
* @see HttpServlet#HttpServlet()
*/
public course_servlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String method=request.getParameter("method");
String keyword=request.getParameter("keyword");//这是你要搜索的关键字
if("add".equals(method))
{
String teachername=request.getParameter("teachername");
String classname=request.getParameter("classname");
String place=request.getParameter("place");
Course n=new Course(classname,teachername,place);
gooddao.add(n);
request.setAttribute("message", "添加成功");
request.getRequestDispatcher("NewFile2.jsp").forward(request, response);
} else if("delete".equals(method)) {
String teachername=request.getParameter("teachername");
Course n=new Course();
n.setTeachername(teachername);
gooddao.delete(n);
request.setAttribute("message", "删除成功");
request.getRequestDispatcher("course_servlet?method=looklist").forward(request, response);
}
else if("looklist".equals(method)) {
List<Course> nt= gooddao.list();
request.setAttribute("nt", nt);
System.out.println("王建民");
request.getRequestDispatcher("NewFile3.jsp").forward(request, response);
}
else if("queryByTeachername".equals(method))
{
String teachername=request.getParameter("teachername");
Course n=new Course();
System.out.println("8888");
n.setTeachername(teachername);
n= gooddao.queryByTeachername(teachername);
request.setAttribute("n", n);
request.getRequestDispatcher("update.jsp").forward(request, response);
}
else if("update".equals(method))
{
String teachername=request.getParameter("teachername");
String classname=request.getParameter("classname");
String place=request.getParameter("place");
String old_teachername=request.getParameter("old_teachername");
Course n=new Course(classname,teachername,place);
gooddao.update(n,old_teachername);
request.setAttribute("message", "添加成功");
request.getRequestDispatcher("course_servlet?method=looklist").forward(request, response);
}
else if("searchByTeachername".equals(method))
{
System.out.println(keyword);
List<Course> cha= gooddao.searchByTeachername(keyword); //传至dao层
request.setAttribute("n", cha);
request.getRequestDispatcher("chaxun.jsp").forward(request, response);
}
} }
三.jsp层
我们在chaxun.jsp里面添加查询的功能
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="course_servlet?method=searchByTeachername" method="post">
按老师姓名查询<input type="text" name="keyword" id="keyword">
<input type="submit" value="搜索">
<table>
<tr>
<td>课程名称</td>
<td>教师姓名</td>
<td>教学地点</td>
<td>操作</td>
</tr>
<c:forEach items="${n}" var="xm">
<tr>
<td>${xm.classname}</td>
<td>${xm.teachername}</td>
<td>${xm.place}</td>
<td><a href="course_servlet?method=delete&teachername=${xm.teachername}" onClick="return confirm('确认删除吗?');">删除</a>
<a href="course_servlet?method=queryByTeachername&teachername=${xm.teachername}">修改</a>
</tr>
</c:forEach> </table>
</form>
</body>
</html>
四.运行结果
点击查询

输入“刘”,即可得到查询结果

这就是一整个增删改查的过程,你只需要建一个表,后期可以进行美化、判断,完善功能!!!!
javaweb之模糊查询的更多相关文章
- 详细介绍idea实现javaweb项目登入注册(华东交通大学教务处信息管理系统)、模糊查询
详细介绍idea实现javaweb项目登入注册(华东交通大学教务处信息管理系统).模糊查询 1,创建数据库,我的用户名:root 密码:root,数据库名称:lianwei,表名:login 2,效果 ...
- 模糊查询的sql语句
Java程序中使用的sql语句一直不明白是什么作用,在网上搜索了一些资料,看到一篇博客,稍微解答了具体每条代码的作用,因为作者加了详细的注解,可以作为参考 <JavaWeb dao层条件查询(模 ...
- Mybatis框架的模糊查询(多种写法)、删除、添加(四)
学习Mybatis这么多天,那么我给大家分享一下我的学习成果.从最基础的开始配置. 一.创建一个web项目,看一下项目架构 二.说道项目就会想到需要什么jar 三.就是准备大配置链接Orcl数据库 & ...
- js—模糊查询
首先要明白什么是模糊查询(废话又来了),就是根据关键字把列表中符合关键字的一项或某项罗列出来,也就是要检查列表的每一项中是否含有关键字,因此抽象一下就是一个字符串中是否含有某个字符或者字符串. 以下例 ...
- mybatis : trim标签, “等于==”经验, CDATA标签 ,模糊查询CONCAT,LIKE
一.My Batis trim标签有点类似于replace效果. trim 属性, prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容 prefixOverrides:前缀判断的条 ...
- combobox实现模糊查询自动填充
利用winform设计软件界面时,经常用到combobox控件,但有时需要绑定数据表中的数据,更进一步,需要实现对数据表中数据的模糊查询功能.本文就讲讲述如何用C#实现combobox下拉列表的模糊查 ...
- [转]ORACLE中Like与Instr模糊查询性能大比拼
instr(title,'手册')>0 相当于 title like '%手册%' instr(title,'手册')=1 相当于 title like '手册%' instr(titl ...
- 关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询
前言 上一篇关系数据库常用SQL语句语法大全主要是关系型数据库大体结构,本文细说一下关系型数据库查询的SQL语法. 语法回顾 SELECT [ALL|DISTINCT] <目标列表达式>[ ...
- StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改
前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...
随机推荐
- JZ-044-翻转单词顺序列
翻转单词顺序列 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如, ...
- SQL Server的Linked Servers
文章搬运自:SQL Server的Linked Servers(链接) 参考引用一下,感谢作者~ 我们在使用SQL Server时,有时会有这种需求,需要从一个SQL Server服务器A中,查询另一 ...
- [2022-2-26] OICLASS-USACO提高组模拟赛 C·Convoluted Intervals S
这道题非常简单啊,我看很多人都做出来了,张林昨天也讲的很明白了,那我来简单写一下: 暴力思路(10pts) 我们发现,我们只需要模拟画出一个图然后进行暴力枚举就行了. 差分+桶+加乘原理思路(100p ...
- 测试平台系列(90) 编写oss客户端
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的教程,希望大家多多支持. 欢迎关注我的公众号米洛的测开日记,获取最新文章教程! 回顾 上一节我们编写了在线执行测试 ...
- laravel7 实现阿里云大文件上传
1:新创一个桶名 2:下载SDK 3: 4: php编辑器 终端运行 5:阿里云复制代码 6:获取秘钥和毽 7: 控制器书写代码:切记引入oss namespac App\Http\Controlle ...
- LGP6144题解
冲了50分钟外加10分钟厕所才冲出来,请问我还有救吗. 看上去像是金组题目的加强版,实际上是金组题目的魔改版. 还是考虑像弱化版那样按照左端点排序,并且记录答案的 \(0\sim k\) 次幂和. 然 ...
- Spring Data ElasticSearch的使用
1.什么是Spring Data Spring Data是一个用于简化数据库访问,并支持云服务的开源框架.其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务. S ...
- Linux 环境下安装 Nexus 私服存储库
镜像下载.域名解析.时间同步请点击阿里云开源镜像站 一.nexus私服存储库简介 Nexus 是一个强大的maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问.,还可以用来创建yum ...
- 手把手带你使用ZigBee——通过爱智控制EFR32,以及 Simplicity Studio 使用过程中注意事项
前言 兄弟们,我发现一个有意思的东西,我在爱智官网翻资料的时候,发现他们终于终于把官网文档的索引优化了!有一说一,真是方便不少,终于不再是一堆文档糊在一坨了. 另外我还发现他们居然做了一个EFR32的 ...
- 题解0007:小木棍(P1120)
(错误记录) 题目链接:https://www.luogu.com.cn/problem/P1120 题目描述:几根同样长的木棍,小冥把它们随意砍成了n段: 然后他又吃饱了撑的想把木棍拼上: 但是这个 ...