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. JZOJ.1153【贪心算法】硬币交换

    好难啊!!! 可聪明的我还是解出来了!(逃 题目描述 小z最近迷上了一款游戏――To Be A Farmer,他在游戏中控制的人物是一个叫FZ的Farmer.FZ身上有G1个金币.S1个银币和B1个铜 ...

  2. Pangu and Stones(HihoCoder-1636)(17北京OL)【区间DP】

    题意:有n堆石头,盘古每次可以选择连续的x堆合并,所需时间为x堆石头的数量之和,x∈[l,r],现在要求,能否将石头合并成一堆,如果能,最短时间是多少. 思路:(参考了ACM算法日常)DP[i][j] ...

  3. [游戏复刻] Super Mario Brothers(1985. Famicom)

    10/20 第一版,导入了地图,设置了碰撞块

  4. idea 编辑器Git暂存区的使用

    平时在开发时候 一般线上环境和线下环境区别会很大,所以一下线下的自己测试环境的代码没有如果提交会影响线上环境,所以一般都会使用git的一个暂存区作为临时存放不需要提交的代码,这样每次提交代码都可以在不 ...

  5. command not found 的解决&&解释

    ln -s /opt/platform/calico/calicoctl /usr/local/sbin/calicoctl ln -s /opt/platform/nginx/sbin/nginxl ...

  6. 怎样安装并编译TypeScript?

    1. 使用: npm -v 查看是否安装了 npm ,  如果没有安装, 请前往 Nodejs 官网 下载安装, 下图表示已经安装 npm , 版本为: 6.9.0 . PS C:\Users\Adm ...

  7. Angular7如何动态刷新Echarts图表

    1 概述 echarts是百度的开源图表插件 Angular中引入echarts网上教程很多 Angular引入echarts,并使用动态刷新 2 安装 请参考大神的博客:https://blog.c ...

  8. IExtenderProvider,c#组件扩展控件属性

    [ProvideProperty("IsEnabled", typeof(LayoutControlItem)), ToolboxItemFilter("System.W ...

  9. Ubuntu/centos/redhat/SUSE sipp安装(带rtp支持,3.5.1版本)

    1.ubuntu 12.04 apt-get install ncurses-dev apt-get install libpcap-dev ./configure --with-pcap make ...

  10. JS闭包的简单理解。优缺点以及垃圾回收机制

    闭包是什么? ·了解闭包首先了解js的‘链式作用域’结构,对象可以一级一级的向上查找父对象的变量,所以父对象的变量对子对象可见,反之不成立:所以都可以访问全局变量 ·为了解决函数外部无法访问函数内局部 ...