赞
踩
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 文件中引入如下
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus-boot-starter</artifactId>
- <version>3.0.6</version>
- </dependency>
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid</artifactId>
- <version>1.0.15</version>
- </dependency>
application.yml文件中
- server:
- port: 8080
-
- spring:
- datasource:
- url: jdbc:mysql://192.xxx.x.xx:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
- username: root
- password: 123456
- driver-class-name: com.mysql.cj.jdbc.Driver
- type: com.alibaba.druid.pool.DruidDataSource
-
- mybatis-plus:
- mapper-locations: classpath:*/mapper/xml/*Mapper.xml
- type-aliases-package: com.example.testdemo1.entity,com.example.testdemo1.mapper
-
创建一个kotlin类 User.kt.
- data class User(
- var id: String? = null,
-
- var name: String? = null,
-
- var age: String? = null,
-
- var addTime: String? = null,
-
- var addUser: String? = null,
-
- var updateTime: String? = null,
-
- var updateUser: String? = null
- )
创建一个xml文件 UserMapper.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.example.testdemo1.mapper.UserMapper">
- <resultMap id="BaseResultMap" type="com.example.testdemo1.entity.User">
- <id column="id" property="id" />
- <result column="name" property="name" />
- <result column="age" property="age" />
- <result column="add_time" property="addTime" />
- <result column="update_time" property="updateTime" />
- <result column="add_user" property="addUser" />
- <result column="update_user" property="updateUser" />
- </resultMap>
- </mapper>
创建一个kotlin接口 UserMapper.kt. 并继承BaseMapper
BaseMapper属于mybatis-plus的核心类
- import com.baomidou.mybatisplus.core.mapper.BaseMapper
-
- @Mapper
- interface UserMapper: BaseMapper<User>{
-
- }
如果在自己写sql语句,这里需要注意下。例如,自己写条插入语句
- @Insert("insert into user (id,name,age,add_time,add_user,update_time,update_user)"+
- "values (#{id},#{name},#{age},#{addTime},#{addUser},#{updateTime},#{updateUser})")
- fun addUser(user:User);
这里的取占位符的值是直接写 参数对象User 中的属性。而不是 对象.属性
创建一个kotlin类 UserController.kt.
- @RestController
- class UserController {
-
- @Autowired
- lateinit var userService: UserService;
-
- @PostMapping("/user")
- fun insertUser():User{
- return userService.insertUser();
- }
- @GetMapping("/user/list")
- fun getUserList():List<User>{
- return userService.getUserList();
- }
- @GetMapping("/user/{id}")
- fun getUserById(@PathVariable id:String):User{
- return userService.getUserById(id);
- }
- }

创建一个kotlin类 IUserService.kt.
- interface IUserService {
- fun insertUser();
- fun getUserList();
- fun getUserById(id:String);
- }
创建一个kotlin类 UserServic.kt.
- @Service
- open class UserService:IUserService {
- @Autowired
- lateinit var userMapper: UserMapper;
-
- override fun insertUser():User{
- var user = User("1","张三丰","20","2018123","张三丰","2018123","张三丰")
- userMapper.insert(user);
- return user
- }
- override fun getUserList():List<User>{
- var userList = userMapper.selectList(null);
- userList?.forEach{item -> println(item)}
- return userList
- }
- override fun getUserById(id:String):User{
- var user = userMapper.selectById(id);
- return user;
- }
-
- }

结束
如有问题,可以联系我。
后续还会陆续出实战项目,kotlin+mybatis-plus+spring-boot+(各种)数据库+vue/react 可以关注我
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。