当前位置:   article > 正文

使用 kotlin+spring-boot+Mybatis-plus+Mysql进行web开发_根据mysql生成konlin代码

根据mysql生成konlin代码

说明:

    1、在这里关于kotlin语言和springboot及mybatis-plus、mysql、这些不做过多解说。直接快速搭建环境,开发项目。
    2、在这里只是一个小demo,后续会出项目开发完成流程、及较差、
    3、相信很多人在整合过程中会遇到各种各样的问题,如果有问题,可以联系我,qq:1226500260.或者给我留言。

    项目demo: git仓库 点击这里

前期准备:

    1、工具:这里使用的是 eclipse。(关于eclipse中集成kotlin开发环境,可参考我;另一篇博文:https://mp.csdn.net/postedit/84763786
    2、数据库:mysql
    3、开发语言:kotlin

正式开始:

(一)创建项目

浏览器输入:https://start.spring.io/ 快速创建项目,下载后解压导入到eclipse

(二)进入相关依赖

在 pox.xml 文件中引入如下

  1. <dependency>
  2. <groupId>mysql</groupId>
  3. <artifactId>mysql-connector-java</artifactId>
  4. <scope>runtime</scope>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.baomidou</groupId>
  8. <artifactId>mybatis-plus-boot-starter</artifactId>
  9. <version>3.0.6</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>com.alibaba</groupId>
  13. <artifactId>druid</artifactId>
  14. <version>1.0.15</version>
  15. </dependency>

(三) 配置文件中

application.yml文件中

  1. server:
  2. port: 8080
  3. spring:
  4. datasource:
  5. url: jdbc:mysql://192.xxx.x.xx:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
  6. username: root
  7. password: 123456
  8. driver-class-name: com.mysql.cj.jdbc.Driver
  9. type: com.alibaba.druid.pool.DruidDataSource
  10. mybatis-plus:
  11. mapper-locations: classpath:*/mapper/xml/*Mapper.xml
  12. type-aliases-package: com.example.testdemo1.entity,com.example.testdemo1.mapper

(四)实体类

创建一个kotlin类  User.kt.

  1. data class User(
  2. var id: String? = null,
  3. var name: String? = null,
  4. var age: String? = null,
  5. var addTime: String? = null,
  6. var addUser: String? = null,
  7. var updateTime: String? = null,
  8. var updateUser: String? = null
  9. )

(五)实体映射文件

创建一个xml文件 UserMapper.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.example.testdemo1.mapper.UserMapper">
  4. <resultMap id="BaseResultMap" type="com.example.testdemo1.entity.User">
  5. <id column="id" property="id" />
  6. <result column="name" property="name" />
  7. <result column="age" property="age" />
  8. <result column="add_time" property="addTime" />
  9. <result column="update_time" property="updateTime" />
  10. <result column="add_user" property="addUser" />
  11. <result column="update_user" property="updateUser" />
  12. </resultMap>
  13. </mapper>

(六) mapper接口类

创建一个kotlin接口  UserMapper.kt.  并继承BaseMapper

BaseMapper属于mybatis-plus的核心类

  1. import com.baomidou.mybatisplus.core.mapper.BaseMapper
  2. @Mapper
  3. interface UserMapper: BaseMapper<User>{
  4. }

注意:

如果在自己写sql语句,这里需要注意下。例如,自己写条插入语句

  1. @Insert("insert into user (id,name,age,add_time,add_user,update_time,update_user)"+
  2. "values (#{id},#{name},#{age},#{addTime},#{addUser},#{updateTime},#{updateUser})")
  3. fun addUser(user:User);

这里的取占位符的值是直接写 参数对象User 中的属性。而不是 对象.属性

(七) controller

创建一个kotlin类  UserController.kt.

  1. @RestController
  2. class UserController {
  3. @Autowired
  4. lateinit var userService: UserService;
  5. @PostMapping("/user")
  6. fun insertUser():User{
  7. return userService.insertUser();
  8. }
  9. @GetMapping("/user/list")
  10. fun getUserList():List<User>{
  11. return userService.getUserList();
  12. }
  13. @GetMapping("/user/{id}")
  14. fun getUserById(@PathVariable id:String):User{
  15. return userService.getUserById(id);
  16. }
  17. }

(八) Service接口类

创建一个kotlin类  IUserService.kt.

  1. interface IUserService {
  2. fun insertUser();
  3. fun getUserList();
  4. fun getUserById(id:String);
  5. }

(九) Service实现类 

创建一个kotlin类  UserServic.kt.

  1. @Service
  2. open class UserService:IUserService {
  3. @Autowired
  4. lateinit var userMapper: UserMapper;
  5. override fun insertUser():User{
  6. var user = User("1","张三丰","20","2018123","张三丰","2018123","张三丰")
  7. userMapper.insert(user);
  8. return user
  9. }
  10. override fun getUserList():List<User>{
  11. var userList = userMapper.selectList(null);
  12. userList?.forEach{item -> println(item)}
  13. return userList
  14. }
  15. override fun getUserById(id:String):User{
  16. var user = userMapper.selectById(id);
  17. return user;
  18. }
  19. }

 

结束

如有问题,可以联系我。

后续还会陆续出实战项目,kotlin+mybatis-plus+spring-boot+(各种)数据库+vue/react   可以关注我

 

 

 

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号