2021-11-06

2021-11-06,第1张

2021-11-06

后端低代码工具SDP系列三(写一个带条件的select语句
  • 准备数据库
  • 配置select语句
  • 生成带查询条件的Mybatis文件
  • 查看生成的结果

准备数据库

接着前一篇文章,我们还是使用sdp_workspace表:

CREATE TABLE sdp_workspace (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(200) NOT NULL,
  root_path varchar(100) DEFAULT NULL,
  db_host varchar(100) DEFAULT NULL,
  db_port int(11) DEFAULT NULL,
  db_database varchar(200) DEFAULT NULL,
  db_username varchar(45) DEFAULT NULL,
  db_password varchar(200) DEFAULT NULL,
  db_classname varchar(200) DEFAULT NULL,
  remark varchar(200) DEFAULT NULL,
  PRIMARY KEY (id),
  UNIQUE KEY unique_workspace (name)
);

我们希望通过name(精确查询)和db_host(模糊查询)可以查询sdp_workspace表,例如:

select t.* from sdp_workspace t
where 88=88
and name = 'sdp'
and db_host like '%localhost%'

注意,这里要保证每个查询条件都是单独一行,并且以and开始,不要有括号。所以在where后面加了一个88=88的条件,这样就保证了后面的条件都能以and开始一行。这样的查询已经可以满足多数的单表查询场景了。
另外一个需要注意的是,如果select语句使用了通配符,而不是具体的字段列表,那么即便是单表查询,也需要给表起个别名,这样SDP工具才能自动将表的字段扩展开。如果是select * from这样的写法,Mybatis的xml中是不会扩展的,但是不影响java文件,java文件是可以处理所有的字段信息的。

配置select语句

打开sql页面,点击添加,添加的内容如下图所示:

配置好以后,如下图所示:
第一行就是新增的内容,后面两个是SDP工具根据规则自动创建的两个条件(就是必须以and开始一行的规则)。目前只有在新增SQL时才会自动处理参数,再次编辑是不会重新处理的,如果再新增条件,就需要手工添加,或把之前新增的SQL删除,新建一条,这样就可以再次自动处理参数了。

生成带查询条件的Mybatis文件

选中任一一行后,点击执行。执行后会有成功提示,页面如下图所示:

查看生成的结果

可以看到会多出两个java文件:

然后在Mybatis的xml文件中会多出若干个select语句,其中一个select如下。可以看到通配符被扩展为具体的字段,查询条件被自动替换为参数:


这个select对应的请求和返回对象如下:

package cn.mysdp.biz.domain;

import java.io.Serializable;
import lombok.Getter;
import lombok.Setter;


@Getter
@Setter
public class SdpWorkspaceForGetWorkspaceList implements Serializable {
    private static final long serialVersionUID = 9000174441695984L;

    private Integer id;

    private String name;

    private String rootPath;

    private String dbHost;

    private Integer dbPort;

    private String dbDatabase;

    private String dbUsername;

    private String dbPassword;

    private String remark;

    private String dbHostLike;

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5118966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存