文档章节

jeecg项目sql语句积累

o
 osc_isezqdgg
发布于 2019/09/18 14:48
字数 697
阅读 10
收藏 0

精选30+云产品,助力企业轻松上云!>>>

1.多表联表查询

select a.device_code,a.device_name,a.done_person,a.task_code,a.child_code,b.compoInvCode from

  (SELECT
  a.device_code,a.device_name,a.done_person,a.task_code,b.child_code
  FROM
  gx_device a
  JOIN gx_device_detail b ON a.device_code =
  b.device_code) a

join xf_component_invcode b on a.child_code = b.compoNumber

核心思想:两个表的联立,用join加上连接条件就行。如果三个表连接,就先把两个表连接起来,把连接起来的结果用括号括起来当一个整体,再连接第三个表,就回到了两个表连接的情况,这种把结果当一个整体的表的方法可以解决任意多个表的连接问题。也可一次性join连接多表,转9条。

2.distinct 加在select之后,可去重复

 

3.limit + 数字   放在最后,可只读取数字相应的行 比如 limit 10 读取前10行

 

4.and 的优先级比or的优先级高,在给条件时要注意

 

5.left join 取到等值条件后会加入左边表的不满足等值条件的部分,right join 取到等值条件后会加入右边表的不满足等值条件的部分,inner join 只取到满足等值条件的部分。

 

6.动态sql语句,常见情况:多条件查询,给定越多的条件,查询越精确。 

如:

<select id="passDeviceInfoToQuery" parameterType="java.lang.String"
        resultType="org.jeecg.modules.stasticsandquery.entity.DeviceInfo"

        SELECT distinct
        a.device_code,b.material_code,b.material_name,a.own_order,b.order_status
        as
        'taskStatus' FROM
        gx_device_main a
        JOIN xf_task_order b
        ON
        a.material_code =
        b.material_code
        <where>
            <if test="deviceCode != null and deviceCode != ''">
                a.device_code = #{deviceCode}
            </if>
            <if test="material != null and material != ''">
                AND (b.material_code = #{material} or b.material_name =
                #{material})
            </if>
            <if test="taskStatus != null and taskStatus != ''">
                and b.order_status = #{taskStatus}
            </if>
            <if test="ownOrder != null and ownOrder != ''">
                and a.own_order = #{ownOrder}
            </if>
        </where>
    </select>

 

<if test="deviceCode != null and deviceCode != ''">

 a.device_code = #{deviceCode}

</if>

<if test=""> if标签做条件判断

<where> 标签可去掉多出来的and关键字

 

7.order by + 字段名 排序 默认按asc升序排序,指定desc时按降序排序。

 

8.https://www.jianshu.com/p/8b135d373df1             group by的使用。

 

9.https://blog.csdn.net/wyqwilliam/article/details/83545172     多表联合查询

 

10.https://www.w3school.com.cn/sql/sql_union.asp      union的使用

 

11. mybaties动态sql choose标签 和when标签 可以实现按条件执行某部分语句

 

select
        task_code,material_code,material_name,deliver_qty,finish_qty
        from
        <choose>
            <when test="'1'.toString()==taskcategy.toString()">xf_task_order</when>
            <when test="'2'.toString()==taskcategy.toString()">gx_task_transformdetail</when>
        </choose>
        where task_code = #{taskcode}

 

12.https://blog.csdn.net/weixin_39633383/article/details/78674135 sql语句字符串拼接

 

13.https://blog.csdn.net/yueqi1125/article/details/79478143 union又去重复的功能 不去重复时使用union all

 

14.https://www.cnblogs.com/dancesir/p/8888071.html distinct 具备指定的字段一起去重复的功能,可单列去重复,可多列去重复。

 

15,https://www.cnblogs.com/qingmuchuanqi48/p/11723520.htm   

sql语句查询多条件与效果  

order by后边的字段并不是唯一的,支持多个,按照你排序的先后顺序写就可以了。另外按照每个字段的升序和降序同样支持。默认是升序的。如下
order by column1(asc or desc),column2(asc or desc),column3(asc or desc),column4(asc or desc)...

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
JAVA插件开发框架--Jeecg-p3

Jeecg-P3,J2EE插件开发框架 特点:业务组件以JAR方式提供,插件模式、松耦合、可插拔、支持独立部署,也可以无缝集成Jeecg平台中。 架构说明: 1.Jeecg-P3 采用SpringMvc + Minidao + Veloc...

Jeecg
2016/03/23
8.9K
2
开发指南专题三:JEECG微云快速开发平台项目编码规范

开发指南专题三:JEECG微云快速开发平台项目编码规范 4. 项目编码规范 4.1. 项目编码规范 1. 项目编码格式为UTF-8(包括:java,jsp,css,js) 2. sevice接口命名:*Service service实现命名:*Se...

DavidBao
2015/01/01
113
0
MiniDao_1.6.4 版本发布,轻量级Java持久化框架,Hibernate项目辅助利器

MiniDao 简介及特征 MiniDao 是一款超轻量的JAVA持久层框架,具备Mybatis一样的SQL能力: 支持SQL分离、支持标签、支持注解。MiniDao产生的初衷是为了解决Hibernate项目对复杂SQL支持能力,具...

osc_apej9ed1
2018/06/04
6
0
MiniDao_1.6.4 版本发布,轻量级Java持久化框架,Hibernate项目辅助利器

MiniDao 简介及特征 MiniDao 是一款超轻量的JAVA持久层框架,具备Mybatis一样的SQL能力: 支持SQL分离、支持标签、支持注解。MiniDao产生的初衷是为了解决Hibernate项目对复杂SQL支持能力,具...

JEECG开源社区
2018/06/04
46
0
jeecg-p3-biz-qywx,微信企业号插件发布

简介: jeecg-p3-biz-qywx微信企业号平台插件,采用jeecg-p3插件开发框架实现,可以轻量级集成进jeecg系统。 jeecg-p3-biz-qywx实现了微信企业号管理的基本功能,企业二次开发可以直接在此基...

Jeecg
2016/06/03
2.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

使用命名管道承载gRPC

最近GRPC很火,感觉整RPC不用GRPC都快跟不上时髦了。 gRPC设计 gRPC是一种与语言无关的高性能远程过程调用 (RPC) 框架。刚好需要使用一个的RPC应用系统,自然而然就盯上了它,但是它真能够解...

osc_nq69o22c
3分钟前
0
0
06-敏捷开发框架-apis 脚本库 引用位置无关性设计

动态引入技术的设计,对我们来说非常重要。 同时也说明动态语言的使用对我们来说也是非常重要。 没有动态语言的支撑,有些想法可能不容易实现,或者有替代方案,可能会花更大的代价。 前端开...

osc_5zg9z6t1
5分钟前
0
0
(三)学习了解OrchardCore笔记——灵魂中间件ModularTenantContainerMiddleware的第一行①的模块部分

  了解到了OrchardCore主要由两个中间件(ModularTenantContainerMiddleware和ModularTenantRouterMiddleware)构成,下面开始了解ModularTenantContainerMiddleware中间件第一行代码。   ...

osc_kdarxvx0
7分钟前
0
0
50Mn18Cr4V锻锻环件

电机无磁护环怎么锻性能才能《高高》?50Mn18Cr4V高锰无磁钢在变形温度为900~1 100℃、应变速率为0.1 ~10s-1条件下的热变形行为. 结果,VC第二相的应变诱导析出对50Mn18Cr4V的热变形行为产生...

无磁钢
7分钟前
8
0
【遇见offer】一汽-大众实习生专场来啦!成长+学习+福利,一个也不能少~

在上次一汽-大众的社招直播之后,实习生的专场招聘也终于来啦! 针对2020年暑期,我们提供了非常多的实习岗位给大家选择。 如果你想得到大厂实习的宝贵经验,如果你想得到更快速的成长,如果...

osc_b88oux8w
8分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部