最近在使用若依前端框架开发项目,遇到了一些问题,当我们在分页时候遇到,数据库中是1,2,3分别代表男,女,未知,的时候怎么样才能在分页的时候返显出来。

直接上代码就ok啦

{field:'status',title: '支付状态',formatter:function(value,row,index){var status = '';switch (value){case 0:status='未支付';break;case 1:status='支付成功';break;case 2:status='支付失败';break;}return status;}

一开始不了解这个框架,虽然里面有字典,可以直接调用,但是若没有使用字典,那么这样挺简洁的。

然后就是搜索框Search了,首先就是Search()方法是若依封装好的,当我们直接使用的时候只要写好SQL就OK了。

问题就是SQL怎么去写?写在哪里?要不要写controller或者其他的类?那么就是什么都不需要,只要写SQL就好了。

首先我们要去知道,若依是一个很好用的框架,里面有好多东西都是封装好的。我们只要去调用就阔以了,就分页来说,只要在html中写一个table标签,就会自动生成表格,而且分页问题,也是给封装好的。废话不多说了上代码,自己看吧,,嘿嘿。。

<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<meta charset="utf-8">
<head th:include="include :: header"></head>
<body class="gray-bg"><div class="container-div"><div class="row"><div class="col-sm-12 search-collapse"><form id="role-form"><div class="select-list"><ul><li>会员卡号:<input type="text" name="cardno"/></li><li>姓名:<input type="text" name="name"/></li><li> <a class="btn btn-primary btn-rounded btn-sm" οnclick="$.table.search()"><iclass="fa fa-search"></i>&nbsp;搜索</a><a class="btn btn-warning btn-rounded btn-sm" οnclick="$.form.reset()"><iclass="fa fa-refresh"></i>&nbsp;重置</a></li></ul></div></form></div><div class="col-sm-12 select-table table-striped"> <table id="bootstrap-table" data-mobile-responsive="true"></table></div></div>
</div>
<div th:include="include :: footer"></div>
<script th:inline="javascript">var prefix = ctx + "order";$(function () {var options = {url: prefix + "/list",modalName: "会员信息",columns: [{checkbox: true},{field: 'id',title: 'id',sortable: true},{field: 'name',title: '姓名',sortable: true},{field: 'phone',title: '电话',sortable: true},{field: 'openid',title: 'openid',sortable: true},{field: 'bonus',title: '积分',sortable: true},{field: 'balance',title: '余额',sortable: true},{field: 'cardno',title: '会员卡号',sortable: true},{field: 'orderno',title: '订单号',sortable: true},{field: 'submittime',title: '支付时间',sortable: true},{field:'price',title: '价格',sortable:true},{field:'status',title: '支付状态',formatter:function(value,row,index){var status = '';switch (value){case 0:status='未支付';break;case 1:status='支付成功';break;case 2:status='支付失败';break;}return status;}}]};$.table.init(options);});</script>
</body>
</html>

红色table标签就是生成表格的重要标签。

以上页面就是上面html所生成的,若依是不是很强大。

最主要的问题是搜索框,就是红色字的Search()

<form id="role-form">

<div class="select-list">

<ul>

<li> 会员卡号:<input type="text" name="cardno"/> </li>

<li> 姓名:<input type="text" name="name"/> </li>

<li>

<a class="btn btn-primary btn-rounded btn-sm" οnclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>

<a class="btn btn-warning btn-rounded btn-sm" οnclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>

</li>

</ul>

</div>

</form>

这个$.table.search(),方法我们在若依在线文档上看到过,也在ruoyi.js文件中看到过实现的方法,也在网上查到,在*mapper.XML文件中怎么去写动态SQL,但是当我们不使用XML文件的时候,使用注解的形式进行写动态SQL,

我使用的Spring Boot+MyBatis+Maven框架

所以Controller中的代码是:

@PostMapping("/list")
@ResponseBody
public TableDataInfo list(MemberAndOrder memberAndOrder){startPage();//分页工具的一个方法List<MemberAndOrder> list = orderService.selectAllOrder(memberAndOrder);//获取查询的数据放到list集合中return getDataTable(list);//集合里面具有查询的数据和分页所需要的数据}

最主要的就是Mapper接口中的SQL语句的书写:

public interface OrderMapper {
@Results({@Result(property = "name",column = "name"),@Result(property = "phone",column = "phone"),@Result(property = "openid",column = "openid"),@Result(property = "bonus",column = "bonus"),@Result(property = "balance",column = "balance"),@Result(property = "cardno",column = "cardno"),@Result(property = "orderno",column = "orderno"),@Result(property = "submittime",column = "submittime"),@Result(property = "price",column = "price"),@Result(property = "status",column = "status")
})
@Select("<script> select " +"m.id, m.name, m.phone,m.openid,m.bonus,m.balance,m.cardno,c.orderno,c.submittime,c.price,c.status " +"from member m , corder c " +"where m.openid = c.openid " +"<if test='cardno!=null'> and m.cardno like concat('%',#{cardno},'%') </if>"+"<if test='name!=null'> and m.name like concat('%',#{name},'%') </if>"+"<if test='cardno==null and name==null'> and m.name is not null</if>"+" </script>")
List<MemberAndOrder> selectAllOrder(MemberAndOrder memberAndOrder);

}

service里面的代码:

public List<MemberAndOrder> selectAllOrder(MemberAndOrder memberAndOrder){return orderMapper.selectAllOrder(memberAndOrder);}

分页和搜索框SQL语句写在一起的,这个SQL能够分页也能够去实现搜索框,所以必须使用动态SQL。

总的来说,在我们撸码期间,总会遇到各种各样的问题,当我们在网上搜索不到我们想要的答案,那么我们解决了,那一定要记录下来,希望能帮助到,以后碰到这样问题的撸友,小编文笔不好,若是有什么疑问,敬请留言,希望能帮助到一些撸友。谢谢

若依框架搜索框使用注解写动态SQL相关推荐

  1. MyBatis使用@Select注解写动态SQL语句

    这里有三张表,teacher,organization,sysuser 目的:使用分页查询三表联查,并且对username的模糊查询,和对tecauditstate进行判断查询 teacher表字段( ...

  2. Mybatis 注解开发 + 动态SQL

    Hello 大家好我是橙子同学,今天分享注解Mybatis注解开发+动态sql 目录 每文一铺垫(今天有小插曲哦) 注解开发 添加 @Insert 删除 @Delete 查询 @Select 修改 @ ...

  3. mybatis注解开发动态sql

    mybatis注解开发动态sql 本篇来讲一下如何使用mybatis注解模式中的动态sql 先来讲一下什么是动态sql 在我们实际开发的时候可能会出现很多方法需要一条很相似的sql语句来进行增删改查, ...

  4. SSM—mybatis框架-注解开发-动态sql(where,set,trim,choose,when,foreach)-模糊查询写法-特殊符号处理-缓存

    文章目录 2.0.注解 2.1.动态sql 2.1.1.where 2.1.2.set 2.1.3.trim 2.1.3.1.trim的where 2.1.3.2.trim的set 2.1.4.1.c ...

  5. SpringBoot集成Groovy、Mybatis注解 实现动态SQL,帮你摆脱繁琐的XML配置

    SpringBoot的超简洁配置,为我们省去了宝贵的配置时间. Mybatis3在这方面也提供了很好的支持,通过注解让我们摆脱了繁琐的mapper xml,写DAO层的时候再也不用在java接口和xm ...

  6. mybatis 动态传入表名 注解_Mybatis动态sql的动态表名问题

    update #{tableName} set iobsolete= 1,update_date =#{date} where reg_id in#{id} 一开始这样写的sql,sql语句的表名会有 ...

  7. MyBatis 注解实现动态SQL

    在 Mybatis 中,使用注解可以很方便的进行sql操作,但很多动态 SQL 都是由 xml 配置实现的.而随着 SpringBoot的逐渐发展,越来越多的配置由配置文件转成注解的形式.其中包括动态 ...

  8. html的搜索框代码怎么写_网站新闻怎么写才能被搜索引擎收录?

    怎么提高网站新闻页收录问题,我想难倒了很多网站优化人员.很多人问为什么自己写的原创文章百度就不收录,反而别人伪原创的立马就收录了,这什么道理?seo们别急,下面互旦科技给大家好好解答其中的原因? 网站 ...

  9. JPA手写动态sql

    JPA的EntityManage可以进行手写sql,不懂的EntityManage的自行百度搜索,下面只写本人涉及到的部分,会提供工具类,包含样例,一个比较简单的sql可以这么去拼写,复杂的还需自行去 ...

最新文章

  1. Qt Creator向项目添加库
  2. 一款好用的轮播插件swiper,适用于移动端和web
  3. 庞佐错觉_水晶球错觉
  4. 计时装饰器python_使用python装饰器制作计时函数
  5. 近年来NLP在法律领域的相关研究工作
  6. 在windows server2003邮件服务器的搭建
  7. 不怕辣眼睛!这个机器人用脸来摘辣椒
  8. 操作文件和目录【TLCL】
  9. JSON.parse()函数处理json格式字符串方法
  10. Python敏感词过滤DFA算法+免费附带敏感词库
  11. FFmpeg安装及将rtsp流转hls协议流通过nginx进行视频直播
  12. Windows注册表内容详解
  13. 金蝶移动bos开发教程_金蝶bos
  14. Linux系统字符终端自动登录问题
  15. 区块链交易验证和支付验证
  16. mysql创建管理员账户
  17. iphone6s html5没声音,iphone6S来电没声音怎么回事?解决iphone来电没声音的方法
  18. 【超实用】在微信文章中点击号码直接拨打电话,轻松运营~
  19. 什么是欧拉角/姿态角?
  20. 简易售货机JAVA sql_JAVA基础---简易自动售货机

热门文章

  1. 简单了解一下LCD屏工作原理
  2. 真神奇!敲击桌子就能操控iPad或iPhone
  3. WebRTC Native M96音频基础知识介绍--使用Opus
  4. 网页未连接到互联网,代理服务器出现问题
  5. 动画 (Animation) 资源类型详述 (1)
  6. 机械硬盘速度测试软件用哪个,比机械硬盘快多少? SSD测量了常用软件和应用速度...
  7. css3中的动画特效--跳动的篮球
  8. 蓝牙耳机什么牌子好?2020年度热销高人气五款蓝牙耳机测评
  9. Vue SSR 性能优化实践
  10. 解读MCE(Machine Check Exception)和Intel CSR寄存器(configuration Registers)的代码含义工具