dao层

public interface DimDao {
//一个条件
public List<User> userdim(User user);

//两个条件且关联表格
public List<Goods> likegood(Goods goods);

//有下拉菜单
public List<Bill> billnolist(Bill bill);

}

public class DimDaoImpl implements DimDao {

private Connection connection = null;
private PreparedStatement p = null;
private ResultSet set = null;

//用户名模糊查询
@Override
public List<User> userdim(User user) {
// TODO Auto-generated method stub
try {
connection = DBUtil.getConnection();
String sql = "select * from T_USER where username like '%"+user.getUsername()+"%' ";
p = connection.prepareStatement(sql);
set = p.executeQuery();
List<User> list = new ArrayList<User>();

while(set.next()){
User user1 = new User();
user1.setId(set.getInt("id"));
user1.setUsername(set.getString("username"));
user1.setPassword(set.getString("password"));
user1.setSex(set.getInt("sex"));
user1.setAge(set.getInt("age"));
user1.setSalary(set.getDouble("salary"));
user1.setAddress(set.getString("address"));
user1.setPhone(set.getString("phone"));
list.add(user1);
}
return list;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

public List<Goods> likegood(Goods goods) {
// TODO Auto-generated method stub
try {
connection = DBUtil.getConnection();
String sql = "select g.*,b.name brname,s.bid,s.sname,bi.name biname "
+ " from T_GOODS g left join T_brand b on b.id = g.brandid"
+ " inner join T_smallclass s on g.sid = s.sid"
+ " inner join T_bigclass bi on bi.id = s.bid where g.goodsname like '%"+goods.getGoodsname()+"%' ";
p = connection.prepareStatement(sql);
set = p.executeQuery();
List<Goods> list = new ArrayList<>();
while(set.next()){
Goods goods1 = new Goods();
goods1.setId(set.getInt("id"));
goods1.setGoodsname(set.getString("goodsname"));
// goods1.setBrandid(set.getInt("brandid"));
goods1.setColor(set.getString("color"));
goods1.setPrice(set.getDouble("price"));
goods1.setShangtime(set.getDate("shangtime"));
// goods1.setSid(set.getInt("sid"));
goods1.setStock(set.getInt("stock"));
goods1.setWeight(set.getDouble("weight"));
goods1.setBrand(new Brand());
goods1.getBrand().setId(set.getInt("brandid"));
goods1.getBrand().setName(set.getString("brname"));
goods1.setBigclass(new BigClass());
goods1.getBigclass().setBid(set.getInt("bid"));
goods1.getBigclass().setName(set.getString("biname"));
goods1.getBigclass().setSid(set.getInt("sid"));
goods1.getBigclass().setSname(set.getString("sname"));
list.add(goods1);
}
return list;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

public List<Bill> billnolist(Bill bill) {
// TODO Auto-generated method stub
try {
connection = DBUtil.getConnection();
String sql = "select * from T_BILL where billno like '%"+bill.getBillno()+"%' and ispay like '%"+bill.getIspay()+"%' ";
p = connection.prepareStatement(sql);
r = p.executeQuery();
List<Bill> list = new ArrayList<Bill>();
while(r.next()){
Bill bill2 = new Bill();
bill2.setId(r.getInt("id"));
bill2.setBillno(r.getString("billno"));
bill2.setBilltamount(r.getDouble("billtamount"));
bill2.setIspay(r.getString("ispay"));
bill2.setPaytype(r.getString("paytype"));
bill2.setPdesc(r.getString("pdesc"));
bill2.setTradenum(r.getInt("tradenum"));
list.add(bill2);
}
return list;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

}

service

public interface DimService {
//用户名模糊查询
public List<User> userdim(User user);

//两个条件
public List<Goods> likegood(Goods goods);

//有下拉菜单
public List<Bill> billnolist(Bill bill);

}

public class DimServiceImpl implements DimService {
private DimDao dimdao = new DimDaoImpl();
public DimDao getDimdao() {
return dimdao;
}

public void setDimdao(DimDao dimdao) {
this.dimdao = dimdao;
}
//用户名模糊查询
@Override
public List<User> userdim(User user) {
// TODO Auto-generated method stub
return dimdao.userdim(user);
}

//商品模糊查询
@Override
public List<Goods> likegood(Goods goods) {
// TODO Auto-generated method stub
return dimdao.likegood(goods);
}

@Override
public List<Bill> billnolist(Bill bill) {
// TODO Auto-generated method stub
return dimdao.billnolist(bill);
}

}

action

//用户名模糊查询
public String likeuser(){
ActionContext ac = ActionContext.getContext();
Map<String, Object> session= ac.getSession();
session.put("userlike", user.getUsername());
userlist = dimservice.userdim(user);
return SUCCESS;
}

//商品模糊查询
public String goodlike(){
ActionContext ac = ActionContext.getContext();
Map<String, Object> session = ac.getSession();
session.put("goodlike", goods.getGoodsname());

goodslist = goodsservice.likegood(goods);
return SUCCESS;
}

//账单模糊查找
public String billlike(){
ActionContext actionContext =ActionContext.getContext();
Map<String, Object> session = actionContext.getSession();
session.put("billno", bill.getBillno());
session.put("ispay", bill.getIspay());
System.out.println(bill);
list = billService.billnolist(bill);
return SUCCESS;
}

struts.xml

<!-- 用户模糊 -->
<action name="likeuser" class="com.oak.action.LikeAction" method="likeuser">
<result name="success">
/userAdmin.jsp
</result>
</action>

<!-- 商品模糊查询 -->
<action name="goodlike" class="com.oak.action.GoodsAction" method="goodlike">
<result name="success">
/goods.jsp
</result>
</action>

<action name="billlike" class="com.oak.action.BillAction" method="billlike">
<result name="success">
/admin_bill_list.jsp
</result>

</action>

前台

下拉菜单选中状态

<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>

<script type="text/javascript">
$(function(){
$("#haha").val("${ispay}");
});
</script>

struts2模糊查询的更多相关文章

  1. 个人笔记之json实现模糊查询

    1:首先创建一个项目如:(说明:此项目是在eclipse创建的) 2.在创建相对应的包如: 3.创建写好相对应的配置文件如: applicationContext.xml具体内容如下: <?xm ...

  2. Mybatis框架的模糊查询(多种写法)、删除、添加(四)

    学习Mybatis这么多天,那么我给大家分享一下我的学习成果.从最基础的开始配置. 一.创建一个web项目,看一下项目架构 二.说道项目就会想到需要什么jar 三.就是准备大配置链接Orcl数据库 & ...

  3. js—模糊查询

    首先要明白什么是模糊查询(废话又来了),就是根据关键字把列表中符合关键字的一项或某项罗列出来,也就是要检查列表的每一项中是否含有关键字,因此抽象一下就是一个字符串中是否含有某个字符或者字符串. 以下例 ...

  4. mybatis : trim标签, “等于==”经验, CDATA标签 ,模糊查询CONCAT,LIKE

    一.My Batis trim标签有点类似于replace效果. trim 属性, prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容 prefixOverrides:前缀判断的条 ...

  5. combobox实现模糊查询自动填充

    利用winform设计软件界面时,经常用到combobox控件,但有时需要绑定数据表中的数据,更进一步,需要实现对数据表中数据的模糊查询功能.本文就讲讲述如何用C#实现combobox下拉列表的模糊查 ...

  6. [转]ORACLE中Like与Instr模糊查询性能大比拼

    instr(title,'手册')>0  相当于  title like '%手册%' instr(title,'手册')=1  相当于  title like '手册%' instr(titl ...

  7. 关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询

    前言 上一篇关系数据库常用SQL语句语法大全主要是关系型数据库大体结构,本文细说一下关系型数据库查询的SQL语法. 语法回顾 SELECT [ALL|DISTINCT] <目标列表达式>[ ...

  8. StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改

    前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...

  9. SQL SERVER 的模糊查询 LIKE

    今天写个动态脚本,需要把数据库里面包含“USER_"的表删除掉,突然想不起来如何搜索通配字符了,赶紧查查MSDN,整理了下模糊查询的知识点,留着以后查阅用. LIKE模糊查询的通配符 通配符 ...

随机推荐

  1. CentOS7编译安装libc++和libc++abi

    本文介绍了如何在CentOS 7中构建C++11构建环境 Clang的定制C++库是libc++(libcxx).然后,libcxx还需要一个ABI库,libc++abi(libcxxabi).不幸的 ...

  2. Docker 安装 Apache

    查找Docker Hub上的httpd镜像 apache$ docker search httpd 拉取官方的镜像 docker pull httpd 使用apache镜像 创建目录apache,用于 ...

  3. Python 解leetcode:2. Add Two Numbers

    题目描述:输入两个非空单链表,链表的每个结点的值是一个1位数整数,两个链表都是一个大整数每一位的逆序排序,求这两个链表代表的整数的和的链表值: 思路: 分别遍历两个链表,转化成相应的整数,求和后把结果 ...

  4. javaweb配置连接mysql数据库

    1.首先新建基础连接类BaseDao,在这里配置链接的数据库名称,用户名以及密码,以及执行读与写操作的父方法,代码如下: package com.demo.dao; import java.sql.D ...

  5. c# base64及MD5工具类

    using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...

  6. 基于NIO写的阻塞式和非阻塞式的客户端服务端

    由于功能太过简单,就不过多阐述了,直接上阻塞式代码: package com.lql.nio; import org.junit.Test; import java.io.IOException; i ...

  7. HDU 4614 线段树+二分查找

    Vases and Flowers 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4614 Problem Description Alice is s ...

  8. 2019 Multi-University Training Contest 2: 1010 Just Skip The Problem 自闭记

    2019 Multi-University Training Contest 2: 1010 Just Skip The Problem 自闭记 题意 多测.每次给你一个数\(n\),你可以同时问无数 ...

  9. VBA学习资料分享-2

    想利用VBA自动创建/发送OUTLOOK邮件,可以借助MailItem的Body属性或HTMLBody属性,代码模板如下: Dim objOutlook As Outlook.Application ...

  10. DPDK latencystats库使用方案

    初始化 注意务必调用 rte_metrics_init /* init latency stats */ /* @TODO should we remove this in product env? ...