MVC案例——模糊查询
模糊查询:
——根据传入的name,password属性列进行查询
——需要在CustomerDAO接口中定义一个getForListWithCriteriaCustomer(CriteriaCustomer cc).
其中CriteriaCustomer用于封装查询条件:name,address,phone。
因为查询条件很多时候和domain类并不相同,所以要做成一个单独的类
——拼SQL:
- SQL:"SELECT ID,NAME,PASSWORD FROM CUSTOMER WHERE"+"NAME LIKE ? AND PASSWORD LIKE ? ";
- 为了正确的填充占位符时,重写了CriteriaCustomer的getter:
——修改Servlet:获取请求参数;把请求参数封装为CriteriaCustomer对象,再调用getForListWithCriteriaCustomer(CriteriaCustomer cc)方法
步骤:
1.首先在CustomerDAO接口中添加该方法。
public List<Customer> getListWithCirteriaCustomer(CriteriaCustomer cc);
2.创建一个CriteriaCustomer类,对成员变量进行封装
package com.mvcapp.entity;public class CriteriaCustomer {private String name;private String password;public CriteriaCustomer(String name, String password) {this.name = name;this.password = password;}public CriteriaCustomer() {}public String getName() {if (name == null){name="%%";}else{name="%"+ name +"%";}return name;}@Overridepublic String toString() {return "CriteriaCustomer{" +"name='" + name + '\'' +", password='" + password + '\'' +'}';}public void setName(String name) {this.name = name;}public String getPassword() {if (password == null){password="%%";}else{password="%"+ password +"%";}return password;}public void setPassword(String password) {this.password = password;}
}
3.在CustomerDAOimpl实现类实现该方法
public List<Customer> getListWithCirteriaCustomer(CriteriaCustomer cc) {String sql = "SELECT ID,NAME,PASSWORD FROM CUSTOMER WHERE" + " NAME LIKE ? AND PASSWORD LIKE ?";return getForList(sql,cc.getName(),cc.getPassword());//调用DAO层中方法}
4.可以对这个实现方法进行一个测试
@Testpublic void testGetListWithCriteriaCustomer(){CriteriaCustomer criteriaCustomer = new CriteriaCustomer("Y",null);List<Customer> customers = customerDAO.getListWithCirteriaCustomer(criteriaCustomer);System.out.println(customers);}
5.修改Servlet,修改query方法
private void query(HttpServletRequest req,HttpServletResponse resp){String name = req.getParameter("name");String password = req.getParameter("password");CriteriaCustomer criteriaCustomer = new CriteriaCustomer(name,password);List<Customer> list = customerDAO.getListWithCirteriaCustomer(criteriaCustomer);req.setAttribute("list",list);try {req.getRequestDispatcher("/query.jsp").forward(req,resp);} catch (ServletException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
效果:
转载于:https://www.cnblogs.com/yangHS/p/11137658.html
MVC案例——模糊查询相关推荐
- Database之SQLSever:SQL命令实现四则运算、desc降序、like模糊查询、distinct去重、MAX/MIN/SUM/AVG/COUNT/GROUP/having等案例之详细攻略
Database之SQLSever:SQL命令实现四则运算.desc降序.like模糊查询.distinct去重.MAX/MIN/SUM/AVG/COUNT/GROUP/having等案例之详细攻略 ...
- MVC分层+JDBC+数据库+Servlet实现JSP文件上传和显示+模糊查询+分页
本文章主要介绍了一个简单的实例:用简单的MVC分层思想,使用数据库在web界面进行增删改查,以及上传,模糊查询+分页的实现. 1.util层(数据库连接管理) :连接数据库需要导包:mysql-con ...
- java程序设计与j2ee中间件技术/软件开发技术(III)-大作业-采用MVC模式实现商品信息的查询显示(可以模糊查询)、增加和删除功能,商品表自拟,实现简单菜单操作和分页显示
目录 1.题目说明 2.实验设计 2.1 表设计 2.2 工程结构 3.运行界面截图与说明 4.小结 附录:源代码 src/main/java src/main/java/bean Goods.jav ...
- 3.QT数据库综合案例,模糊查询等操作
1 新建一个项目: Database01.pro SOURCES += \ main.cpp \ Contact.cpp QT += gui widgets sql CONFIG += C++1 ...
- SQL模糊查询特殊符号应用及详细案例说明
SQL模糊查询,使用like比较关键字,加上SQL里的通配符,请参考以下: 1.LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden). 2.LIKE'%inger' 将 ...
- MVC案例-架构分析
MVC案例 --没有业务层,直接由Servlet调用DAO,所以也没有事务操作.所以可以在DAO中直接获取Connection对象 --采取MVC设计模式 --使用到的技术 MVC设计模式:JSP,S ...
- php拼音模糊查询,PHP模糊查询技术实例分析【附源码下载】
本文实例讲述了PHP模糊查询技术.分享给大家供大家参考,具体如下: 简介 从本质上揭密PHP模糊查询技术 功能 根据输入的关键字查找相关用户 PHP用户查询器案例分析 课程目标 掌握PHP模糊技术的应 ...
- c3p0 参数 模糊查询_mybatis之动态sql,模糊查询,结果集处理,mybatis分页及特殊字符处理...
目标及项目目录结构 目标 1.mybatis动态sql 2.模糊查询 3.查询返回结果集的处理 4.分页查询 5.特殊字符处理 项目的目录结构 1.mybatis动态sql If.trim.forea ...
- 批量模糊查询_Django之ORM表高级操作、增删改查、F/Q查询等
目录 一.如何开启自己的测试脚本? 二.对表数据的添加.更新.删除1.create()变态操作之批量插入数据2.update()3.delete()4.如何查看QuerySet对象执行的sql语句?5 ...
最新文章
- java arcengine_在Java程序中调用ArcEngine
- sentinel安装
- 程序员4月书讯:Angular来了!
- 交换机配置——VTP管理交换机的VLAN配置
- OutLook2016修改注册表迁移.ost文件数据
- CSS之Screen视图属性
- css如何设置文本垂直居中显示,css中怎么设置文本居中?css文本垂直居中的设置方法...
- 16款有助于提升工作效率的工具
- 狂人日记学习 之七 三列浮动中间列宽度自适应
- Linux高手必看的10本经典书籍
- Spotfire 表达式中的属性
- 华御上网行为管理FAQ
- 链接、图像、列表、计数器
- php3d饼状图的教学,php使用Jpgraph创建3D饼形图效果示例
- 微信小程序和微信H5有什么区别?
- STM32F103C8T6+ESP-01S+MQTT服务器实现数据上传和接收(一)
- 常用药 学着照顾自己和身边的人
- 异常 | ARM _data_abort 异常处理流程
- thinkajax入门------验证ThinkAjax.send 、ajaxReturn
- cad二次开发c#学习记录4——导出图纸标注的尺寸
热门文章
- 实例详细讲解ASP生成静态页面方法
- ASP:HTML在线编辑器的调用方法和使用方法详解
- SpringBoot项目依赖本地jar包
- 看看阿里的考核尺度, 阿里人工资高是有原因的
- Cookie或将被替换!Chrome工程师提议新型HTTP状态管理协议
- 语言相关系数显著性_ggplot2 绘制带星号和 Pvalue 值的相关系数热图
- php ftp 大文件,php – 将文件复制到服务器与FTP之间的文件大小差异
- mysql 对象名无效_如何解决“SQL对象名无效”的问题
- 国内数据中心制冷系统设计与发展
- “双碳”目标下新型数据中心的方向