From 0604c0d7eed56d121d01ee97722c885cbe902fe4 Mon Sep 17 00:00:00 2001 From: zhouhongfa Date: Tue, 30 Jul 2019 17:54:50 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E5=A2=9E=E5=8A=A0job=5Fjdbc=5Fdatasourc?= =?UTF-8?q?e=E8=A1=A8=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JobJdbcDatasourceController.java | 145 ++++++++++++++++++ .../dataxweb/dao/JobJdbcDatasourceMapper.java | 15 ++ .../dao/mapping/JobJdbcDatasourceMapper.xml | 5 + .../dataxweb/entity/JobJdbcDatasource.java | 120 +++++++++++++++ .../service/IJobJdbcDatasourceService.java | 15 ++ .../impl/JobJdbcDatasourceServiceImpl.java | 21 +++ 6 files changed, 321 insertions(+) create mode 100644 datax-web/src/main/java/com/wugui/dataxweb/controller/JobJdbcDatasourceController.java create mode 100644 datax-web/src/main/java/com/wugui/dataxweb/dao/JobJdbcDatasourceMapper.java create mode 100644 datax-web/src/main/java/com/wugui/dataxweb/dao/mapping/JobJdbcDatasourceMapper.xml create mode 100644 datax-web/src/main/java/com/wugui/dataxweb/entity/JobJdbcDatasource.java create mode 100644 datax-web/src/main/java/com/wugui/dataxweb/service/IJobJdbcDatasourceService.java create mode 100644 datax-web/src/main/java/com/wugui/dataxweb/service/impl/JobJdbcDatasourceServiceImpl.java diff --git a/datax-web/src/main/java/com/wugui/dataxweb/controller/JobJdbcDatasourceController.java b/datax-web/src/main/java/com/wugui/dataxweb/controller/JobJdbcDatasourceController.java new file mode 100644 index 00000000..9bfcb3f9 --- /dev/null +++ b/datax-web/src/main/java/com/wugui/dataxweb/controller/JobJdbcDatasourceController.java @@ -0,0 +1,145 @@ +package com.wugui.dataxweb.controller; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.api.ApiController; +import com.baomidou.mybatisplus.extension.api.R; +import com.wugui.dataxweb.entity.JobJdbcDatasource; +import com.wugui.dataxweb.service.IJobJdbcDatasourceService; +import com.wugui.dataxweb.util.PageUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * jdbc数据源配置控制器层 + * + * @author zhouhongfa@gz-yibo.com + * @version v1.0 + * @since 2019-07-30 + */ +@RestController +@RequestMapping("/api/jobJdbcDatasource") +@Api(tags = "jdbc数据源配置接口") +public class JobJdbcDatasourceController extends ApiController { + /** + * 服务对象 + */ + @Autowired + private IJobJdbcDatasourceService jobJdbcDatasourceService; + + /** + * 分页查询所有数据 + * + * @return 所有数据 + */ + @GetMapping + @ApiOperation("分页查询所有数据") + @ApiImplicitParams( + {@ApiImplicitParam(paramType = "query", dataType = "String", name = "current", value = "当前页", defaultValue = "1", required = true), + @ApiImplicitParam(paramType = "query", dataType = "String", name = "size", value = "一页大小", defaultValue = "10", required = true), + @ApiImplicitParam(paramType = "query", dataType = "Boolean", name = "ifCount", value = "是否查询总数", defaultValue = "true"), + @ApiImplicitParam(paramType = "query", dataType = "String", name = "ascs", value = "升序字段,多个用逗号分隔"), + @ApiImplicitParam(paramType = "query", dataType = "String", name = "descs", value = "降序字段,多个用逗号分隔") + }) + public R> selectAll() { + BaseForm baseForm = new BaseForm(); + return success(this.jobJdbcDatasourceService.page(baseForm.getPlusPagingQueryEntity(), pageQueryWrapperCustom(baseForm.getParameters()))); + } + + /** + * 自定义查询组装 + * + * @param map + * @return + */ + protected QueryWrapper pageQueryWrapperCustom(Map map) { + // mybatis plus 分页相关的参数 + Map pageHelperParams = PageUtils.filterPageParams(map); + logger.info("分页相关的参数: {}", pageHelperParams); + //过滤空值,分页查询相关的参数 + Map columnQueryMap = PageUtils.filterColumnQueryParams(map); + logger.info("字段查询条件参数为: {}", columnQueryMap); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + + //排序 操作 + pageHelperParams.forEach((k, v) -> { + switch (k) { + case "ascs": + queryWrapper.orderByAsc(StrUtil.toUnderlineCase(StrUtil.toString(v))); + break; + case "descs": + queryWrapper.orderByDesc(StrUtil.toUnderlineCase(StrUtil.toString(v))); + break; + } + }); + + //遍历进行字段查询条件组装 + columnQueryMap.forEach((k, v) -> { + switch (k) { + default: + queryWrapper.eq(StrUtil.toUnderlineCase(k), v); + } + }); + + return queryWrapper; + } + + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @ApiOperation("通过主键查询单条数据") + @GetMapping("{id}") + public R selectOne(@PathVariable Serializable id) { + return success(this.jobJdbcDatasourceService.getById(id)); + } + + /** + * 新增数据 + * + * @param entity 实体对象 + * @return 新增结果 + */ + @ApiOperation("新增数据") + @PostMapping + public R insert(@RequestBody JobJdbcDatasource entity) { + return success(this.jobJdbcDatasourceService.save(entity)); + } + + /** + * 修改数据 + * + * @param entity 实体对象 + * @return 修改结果 + */ + @PutMapping + @ApiOperation("修改数据") + public R update(@RequestBody JobJdbcDatasource entity) { + return success(this.jobJdbcDatasourceService.updateById(entity)); + } + + /** + * 删除数据 + * + * @param idList 主键结合 + * @return 删除结果 + */ + @DeleteMapping + @ApiOperation("删除数据") + public R delete(@RequestParam("idList") List idList) { + return success(this.jobJdbcDatasourceService.removeByIds(idList)); + } +} \ No newline at end of file diff --git a/datax-web/src/main/java/com/wugui/dataxweb/dao/JobJdbcDatasourceMapper.java b/datax-web/src/main/java/com/wugui/dataxweb/dao/JobJdbcDatasourceMapper.java new file mode 100644 index 00000000..39dcf843 --- /dev/null +++ b/datax-web/src/main/java/com/wugui/dataxweb/dao/JobJdbcDatasourceMapper.java @@ -0,0 +1,15 @@ +package com.wugui.dataxweb.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.wugui.dataxweb.entity.JobJdbcDatasource; + +/** + * jdbc数据源配置表数据库访问层 + * + * @author zhouhongfa@gz-yibo.com + * @version v1.0 + * @since 2019-07-30 + */ +public interface JobJdbcDatasourceMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/datax-web/src/main/java/com/wugui/dataxweb/dao/mapping/JobJdbcDatasourceMapper.xml b/datax-web/src/main/java/com/wugui/dataxweb/dao/mapping/JobJdbcDatasourceMapper.xml new file mode 100644 index 00000000..3954f3fc --- /dev/null +++ b/datax-web/src/main/java/com/wugui/dataxweb/dao/mapping/JobJdbcDatasourceMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/datax-web/src/main/java/com/wugui/dataxweb/entity/JobJdbcDatasource.java b/datax-web/src/main/java/com/wugui/dataxweb/entity/JobJdbcDatasource.java new file mode 100644 index 00000000..9b4a67b9 --- /dev/null +++ b/datax-web/src/main/java/com/wugui/dataxweb/entity/JobJdbcDatasource.java @@ -0,0 +1,120 @@ +package com.wugui.dataxweb.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * jdbc数据源配置实体类(job_jdbc_datasource) + * + * @author zhouhongfa@gz-yibo.com + * @version v1.0 + * @since 2019-07-30 + */ + +@Data +@ApiModel +@TableName("job_jdbc_datasource") +public class JobJdbcDatasource extends Model { + + /** + * 自增主键 + */ + @TableId + @ApiModelProperty(value = "自增主键") + private Long id; + + /** + * 数据源名称 + */ + @ApiModelProperty(value = "数据源名称") + private String datasourceName; + + /** + * 数据源分组 + */ + @ApiModelProperty(value = "数据源分组") + private String datasourceGroup; + + /** + * 用户名 + */ + @ApiModelProperty(value = "用户名") + private String jdbcUsername; + + /** + * 密码 + */ + @ApiModelProperty(value = "密码") + private String jdbcPassword; + + /** + * jdbc url + */ + @ApiModelProperty(value = "jdbc url") + private String jdbcUrl; + + /** + * jdbc驱动类 + */ + @ApiModelProperty(value = "jdbc驱动类") + private String jdbcDriverClass; + + /** + * 状态:0删除 1启用 2禁用 + */ + @TableLogic + @ApiModelProperty(value = "状态:0删除 1启用 2禁用") + private Integer status; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人", hidden = true) + private String createBy; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @JSONField(format = "yyyy/MM/dd") + @ApiModelProperty(value = "创建时间", hidden = true) + private Date createDate; + + /** + * 更新人 + */ + @ApiModelProperty(value = "更新人", hidden = true) + private String updateBy; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @JSONField(format = "yyyy/MM/dd") + @ApiModelProperty(value = "更新时间", hidden = true) + private Date updateDate; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注", hidden = true) + private String comments; + + + /** + * 获取主键值 + * + * @return 主键值 + */ + @Override + protected Serializable pkVal() { + return this.id; + } +} \ No newline at end of file diff --git a/datax-web/src/main/java/com/wugui/dataxweb/service/IJobJdbcDatasourceService.java b/datax-web/src/main/java/com/wugui/dataxweb/service/IJobJdbcDatasourceService.java new file mode 100644 index 00000000..53e9759e --- /dev/null +++ b/datax-web/src/main/java/com/wugui/dataxweb/service/IJobJdbcDatasourceService.java @@ -0,0 +1,15 @@ +package com.wugui.dataxweb.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.wugui.dataxweb.entity.JobJdbcDatasource; + +/** + * jdbc数据源配置表服务接口 + * + * @author zhouhongfa@gz-yibo.com + * @version v1.0 + * @since 2019-07-30 + */ +public interface IJobJdbcDatasourceService extends IService { + +} \ No newline at end of file diff --git a/datax-web/src/main/java/com/wugui/dataxweb/service/impl/JobJdbcDatasourceServiceImpl.java b/datax-web/src/main/java/com/wugui/dataxweb/service/impl/JobJdbcDatasourceServiceImpl.java new file mode 100644 index 00000000..ca440f37 --- /dev/null +++ b/datax-web/src/main/java/com/wugui/dataxweb/service/impl/JobJdbcDatasourceServiceImpl.java @@ -0,0 +1,21 @@ +package com.wugui.dataxweb.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wugui.dataxweb.dao.JobJdbcDatasourceMapper; +import com.wugui.dataxweb.entity.JobJdbcDatasource; +import com.wugui.dataxweb.service.IJobJdbcDatasourceService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * jdbc数据源配置表服务实现类 + * + * @author zhouhongfa@gz-yibo.com + * @version v1.0 + * @since 2019-07-30 + */ +@Service +@Transactional(readOnly = true) +public class JobJdbcDatasourceServiceImpl extends ServiceImpl implements IJobJdbcDatasourceService { + +} \ No newline at end of file