SpringCloud整合Scala实现MybatisPlus实现业务增删改查

SpringCloud整合Scala实现MybatisPlus实现业务增删改查,Scala 运行于 Java 平台(Java

虚拟机),并兼容现有的 Java 程序。 为了增加简化开发代码,索性直接使用Java和Scala混合开发方式达到更便捷的速度和激情

Spring Cloud全栈实战:手撸企业级项目,从入门到架构师!

1. 安装Scala插件

Spring Cloud全栈实战:手撸企业级项目,从入门到架构师!

2. 配置MybatisPlus POM的核心依赖

Spring Cloud全栈实战:手撸企业级项目,从入门到架构师!

java 复制代码
<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>
 
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.connector.version}</version>
        </dependency>

3. application.yml配置

java 复制代码
server:
#  port: 10000
  port: 10002
#  port: 8080
  compression:
    enabled: true
    mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json
    min-response-size: 1024
  http2:
    enabled: true
  undertow:
    threads:
      io: 8
      worker: 256
    accesslog:
      dir: logs
      enabled: true
      pattern: common
      prefix: access_log
      suffix: log
    max-http-post-size: 0
    buffer-size: 1024
    direct-buffers: true
# prod_joolun_eastchinafair
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://mysql:3306/prod_joolun_data?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true

4. 创建Mapper文件

Spring Cloud全栈实战:手撸企业级项目,从入门到架构师!

java 复制代码
@Mapper
trait UserMapper extends BaseMapper[UserEntity]{
 
}

5. 创建Service 类

java 复制代码
package com.cloud.xx.service
 
import com.baomidou.mybatisplus.extension.service.IService
import com.cloud.xx.entity.UserEntity
 
trait UserService extends IService[UserEntity] {
 
}

6. 创建实现类

Spring Cloud全栈实战:手撸企业级项目,从入门到架构师!

java 复制代码
package com.cloud.xx.service
 
import com.baomidou.mybatisplus.extension.service.IService
import com.cloud.xx.entity.UserEntity
 
trait UserService extends IService[UserEntity] {
 
}

7. 创建API接口查询

Spring Cloud全栈实战:手撸企业级项目,从入门到架构师!

java 复制代码
package com.cloud.xx.controller
 
import com.cloud.xx.common.utils.R
import com.cloud.xx.mapper.UserMapper
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.web.bind.annotation.{GetMapping, RequestMapping, RequestParam, RestController}
 
import scala.collection.convert.ImplicitConversions.`collection AsScalaIterable`
 
 
@RestController
@RequestMapping(Array("/user"))
class UserController {
 
  @Autowired
  val etsEntityService: UserMapper = null
 
  /**
   * 测试Vabase海量数据库FT项目对接
   *
   * @param id
   * @return
   */
  @GetMapping(Array("getInfo")) def ok(@RequestParam("id") id: String): R[_] = {
    import scala.jdk.CollectionConverters._
 
    val entity = etsEntityService.selectList(null)
    val list = entity.map { num =>
      num.setUserName(num.getUserName + "1")
      num
    }
    R.ok(list.asJava) // 现在是 List[UserEntity],序列化正常
  }
}

8. 测试数据API

Spring Cloud全栈实战:手撸企业级项目,从入门到架构师!

相关推荐
niucloud-admin17 分钟前
NIUCLOUD PHP SAAS上门家政使用文档:服务保障
java·开发语言·php
IT枫斗者枫哥30 分钟前
CompletableFuture失败后返回空列表:异常没了,业务含义也变了
java·后端
知识搬运临时工41 分钟前
一个模板把 AEM 拖进 Full GC 死亡螺旋:300% CPU、7 GB 堆、310 万行堆栈
java·aws
用户432935928051 小时前
CoAP还是MQTT:1万只Cat.1水表三个月带宽续航实测
java
知守观1 小时前
多模块架构演进:横向分层 vs 纵向领域,13 个真实项目的切分对照
java·后端·微服务
Java成神之路-1 小时前
Java String 为什么不可变?和 HashMap 到底有什么关系?
java
paopaokaka_luck1 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
文丑颜不良啊1 小时前
LeetCode1401~1420题目解析
java·leetcode
Nuanyt1 小时前
LeetCode Hot 100 链表专题2 3 题 (Java)
java·笔记·算法·leetcode·链表
文丑颜不良啊2 小时前
LeetCode1341~1360题目解析
java·leetcode