页面配置mysql查询条件_使用mybaits 处理 vue 页面多条件查询

需求

eec04a1e59c3a44a6d7a11d7273f03e0.png

品类和品牌有二级联动

新建品类表 品牌表 建立关联关系  品牌里面有品类Id

传统方法:进去页面的时候,查询品类List 放到页面

vue 做法

//vue得到省份城市

$(function(){

var vm= newVue({

el :"#app",

data : {

categorys : [],

brands : [],

options:[]

},

created : function(){

$.get("/admin/proqrcode/getCategoryList", function(data){

vm.categorys=data.data

},"JSON");

},

methods : {

changeCategory : function(event){

$.get("/admin/proqrcode/getBrandList?categoryId=" +$(event.target).val(), function(data){

vm.brands=data.data

},"JSON")

},

}

});

});

按钮

请选择

{{c.category}}

请选择

{{b.brand}}

th:text="搜索">搜索

这里遇到的问题

3319e78576ed625412b6ba91b18dbfde.png

如果前台直接传入baby care 这样的值,遇到了问题

因为值中间有空格,如果是调用服务的话会出现问题

Illegal character in query at index 136

所以传入 id 就避免了这个问题

value="{{b.id}}

搜索服务

public String read(@RequestParam Mapparams) {

Map result =produceQrcodeService.list(params);

}

用map 接收参数

品类 和 品类传入的参数都是id 我们需要根据id 查询对应的名称

然后作为查询的条件进行查询if(params.get("categroy") != null){

Category categroy= categoryMapper.selectByPrimaryKey(Integer.valueOf(params.get("categroy")));

params.put("categroy", categroy.getCategory());

}if(params.get("brand") != null){

Brand brand= brandMapper.selectByPrimaryKey(Integer.valueOf(params.get("brand")));

params.put("brand", brand.getBrand());

}

List list = proMapperCustom.queryList(params);

xml

materialName 进行了模糊查询

select*from POSM_LW_PRODUCE_QRCODE

AND MATERIAL_NAME like CONCAT(‘%‘,#{materialName},‘%‘)

AND ITEMQRCODE=#{itemqrcode,jdbcType =VARCHAR}

AND CATEGROY=#{categroy,jdbcType =VARCHAR}

AND BRAND=#{brand,jdbcType =VARCHAR}

逆向工程做法,出现问题

if(params.get("billCode") != null){

Criteria criteria=example.createCriteria();

criteria.andBillCodeEqualTo(params.get("billCode"));

}if(params.get("materialCode") != null){

Criteria criteria=example.createCriteria();

criteria.andMaterialCodeEqualTo(params.get("materialCode"));

}if(params.get("itemqrcode") != null){

Criteria criteria=example.createCriteria();

criteria.andItemqrcodeEqualTo(params.get("itemqrcode"));

}

开始采用了逆向工程的搜索,但是发现当这些条件都不为空的时候,并不会以and 形式去查询

and 必须是  criteria.and***.and***

这样才会是and 查询 否则都是以一个条件

mybaits 配置 实现数据库字段下划线 转成 驼峰属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值