FluentMybatis 项目工程化、常规操作(增删改查)(一) | FluentMybatis实践(2)

简介: FluentMybatis 项目工程化、常规操作(增删改查)(一) | FluentMybatis实践

增/改

现在开始增加和修改表接口编写,一般来说,新增和修改的方法都定义为同一个。逻辑为如果传递数据主键,则为改,如果不传递,则为增。

定义接口

package com.hy.fmp.service;
import com.hy.fmp.fluent.entity.TestFluentMybatisEntity;
/** @Author huyi @Date 2021/10/20 17:10 @Description: 基础操作接口 */
public interface IBaseService {
  /**
   * 新增/修改接口
   *
   * @param param 表实体
   * @return 表实体
   */
  TestFluentMybatisEntity insertOrUpdate(TestFluentMybatisEntity param);
}

接口实现类

package com.hy.fmp.service.Impl;
import com.hy.fmp.fluent.dao.intf.TestFluentMybatisDao;
import com.hy.fmp.fluent.entity.TestFluentMybatisEntity;
import com.hy.fmp.service.IBaseService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/** @Author huyi @Date 2021/10/20 17:10 @Description: 基础操作接口实现 */
@Slf4j
@Service
public class BaseServiceImpl implements IBaseService {
  @Autowired private TestFluentMybatisDao testFluentMybatisDao;
  @Override
  public TestFluentMybatisEntity insertOrUpdate(TestFluentMybatisEntity param) {
    testFluentMybatisDao.saveOrUpdate(param);
    return param;
  }
}

编写control层

package com.hy.fmp.ctrl;
import com.hy.fmp.dto.Result;
import com.hy.fmp.enm.ErrorCode;
import com.hy.fmp.fluent.entity.TestFluentMybatisEntity;
import com.hy.fmp.service.IBaseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/** @Author huyi @Date 2021/10/20 17:04 @Description: 基础操作 */
@Slf4j
@RestController
@RequestMapping("/base")
@Api(tags = "基础操作")
public class BaseController {
  @Autowired private IBaseService baseService;
  @ApiOperation(value = "插入/更新数据", notes = "插入/更新数据")
  @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST)
  @ResponseBody
  public Result<TestFluentMybatisEntity> insertOrUpdate(@RequestBody TestFluentMybatisEntity param) {
    try {
      return Result.ok(baseService.insertOrUpdate(param));
    } catch (Exception exception) {
      return Result.error(ErrorCode.BASE_ERROR_CODE.getCode(), exception.getMessage(), null);
    }
  }
}

启动项目


image.png


打开Knife4j页面:http://localhost:8080/doc.html#/home


点开我们刚刚写好的接口进行测试。

image.png



image.png


OK,插入成功。


修改数据

image.png


OK,修改成功。


总结

下一篇继续,地址:FluentMybatis 项目工程化、常规操作(增删改查)(二) | FluentMybatis实践_阿良的博客-CSDN博客


如果本文对你有帮助,请点个赞支持一下吧。



相关文章
|
15天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
37 3
|
27天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
28天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
1月前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
1月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
67 11
|
1月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
38 1
|
1月前
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
70 5
|
1月前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
1月前
|
数据可视化 API PHP
低代码开发工具-学生管理系统-老师管理增删改查实现
低代码开发工具-学生管理系统-老师管理增删改查实现
33 5
|
1月前
|
Rust 前端开发 关系型数据库
Tauri 开发实践 — Tauri 集成本地数据库
本文介绍了在 Tauri 框架中集成本地数据库的几种方案,包括直接绑定 SQLite、使用第三方数据库库和使用 tauri-plugin-sql-api 插件。最终选择了 tauri-plugin-sql-api,因为它集成简单、支持多种数据库类型,并且与 Tauri 框架深度整合,提升了开发效率和安全性。文章详细介绍了如何安装和使用该插件,以及如何编写核心代码实现数据库操作。
159 2
下一篇
无影云桌面