Springboot+Kotlin+mybatis 构建RESTFUL

   java 大多数代码写了很多沉长的getter 以及setter,似乎kotlin改造了这些东西,简化了实体类的写法。其语法类似于scala ,其实两者写起来感觉没多大区别。遵循大佬就是牛逼的原则,我更偏向于kotlin,毕竟人家手里有android,而且其语法最初也是支持android。

    对于代码的编写其实并无多大区别,说下主要注意的地方;代码会在文章末尾奉上,文章在于辅助代码理解,如果你不想看这些可以直接跳到末尾查看源码。

   实体类:

   实体类的写法更加简单,但是有利必定有弊。其中遇到的坑Integer  ,和时间date的转化。Integer 的区别在于int 还是Integer,  Date  不管你使用 java.utils   还是 java.sql  都会报错,其中报错语句大致如下:

 matching [java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.

所以现在的解决办法就是 所有时间戳类的都转化为timeStamp,至于Int 型 那么就是int?

这样就是一个简单的实体类就出来了,少了getter 少了setter。

剩下的就是老规矩,Controller,Services,Mapper,Xml  

写法上并没有多大差异,值得提的就是SpringBootApplication的启动方式有所变化。

 

@SpringBootApplication
@MapperScan("com.example.demo.mapper")
class DemoApplication

fun main(args: Array<String>) {
    SpringApplication.run(DemoApplication::class.java, *args)
}

 

是不是发现 少写了那么几行?

至于其他的抽象,静态变量,继承等等,这些都是语法问题就不在累述,总体感觉需要主语的就是这两点,具体的去看代码吧。

链接:

https://gitee.com/reasahi/SpringBootKotlinMybatis

 

 

 

转载于:https://my.oschina.net/u/2000273/blog/1552237

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用 Spring BootKotlin 更新 API 的详细示例: 1. 创建一个新的 Spring Boot 项目并添加必要的依赖项,如下所示: ```gradle dependencies { implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") implementation("org.jetbrains.kotlin:kotlin-reflect") } ``` 2. 创建一个名为 `User` 的数据类,用于表示要更新的用户: ```kotlin data class User( val id: Long, val name: String, val email: String ) ``` 3. 创建一个名为 `UserController` 的控制器类,用于处理用户更新请求: ```kotlin @RestController @RequestMapping("/api/users") class UserController(private val userRepository: UserRepository) { @PutMapping("/{id}") fun updateUser(@PathVariable id: Long, @RequestBody user: User): User { val existingUser = userRepository.findById(id) .orElseThrow { EntityNotFoundException("User with id $id not found") } existingUser.name = user.name existingUser.email = user.email return userRepository.save(existingUser) } } ``` 4. 创建一个名为 `UserRepository` 的存储库接口,用于访问用户数据: ```kotlin @Repository interface UserRepository : JpaRepository<UserEntity, Long> ``` 5. 创建一个名为 `UserEntity` 的实体类,用于映射到数据库中的用户表: ```kotlin @Entity @Table(name = "users") data class UserEntity( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long = 0, @Column(nullable = false) var name: String, @Column(nullable = false, unique = true) var email: String ) ``` 6. 运行应用程序并使用 cURL 或其他 HTTP 客户端发出更新用户的请求: ```bash curl -X PUT -H "Content-Type: application/json" -d '{"name": "John Doe", "email": "john.doe@example.com"}' http://localhost:8080/api/users/1 ``` 这将更新 ID 为 1 的用户的名称和电子邮件,并返回更新后的用户对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值