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
