1.脚手架创建一个模板项目
相关连接 https://blog.csdn.net/leinminna/article/details/90579198
2.项目创建好,跑起来后:
先创建一个controller
package cn.lei.dockertest.controller;
import cn.lei.dockertest.model.User;
import cn.lei.dockertest.service.IDockerService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author leimin
* @description
* @time: 2019/08/20
**/
@RestController
public class DockerController {
/**
* mybatis查询mysql数据库
*/
@Autowired
private IDockerService dockerService;
@GetMapping("user/id")
@ApiOperation(value = "getById", notes = "getById")
public User getById(Long id){
return dockerService.getById(id);
}
}
再创建一个Service 接口
package cn.lei.dockertest.service;
import cn.lei.dockertest.model.User;
/**
* @author leimin
* @DESCRIPTION
* @time 2019/08/20
**/
public interface IDockerService {
User getById(Long id);
}
再创建一个Service实现
package cn.lei.dockertest.service.impl;
import cn.lei.dockertest.dao.IDockerDao;
import cn.lei.dockertest.model.User;
import cn.lei.dockertest.service.IDockerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author leimin
* @description
* @time: 2019/08/20
**/
@Service
public class DockerServiceImpl implements IDockerService {
@Autowired
private IDockerDao dockerDao;
@Override
public User getById(Long id) {
return dockerDao.getById(id);
}
}
此处不能直接完成 dockerDao.getById(id) 的mybatis的查询方法,还有几步需要完成;
3.pom 引入mysql和mybatis的相关jar
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId><!--mysql驱动包 -->
<version>5.1.38</version>
</dependency>
<!-- mybatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId><!--boot整合mybatis的关键包annotation -->
<version>1.1.1</version>
</dependency>
4.properties配置文件引入mysql配置
spring:
profiles:
active: dev
# 数据源
datasource:
url: jdbc:mysql://${mysql_url:xxx.xxx.194.11}:${mysql_port:3306}/${mysql_database:authorization}?characterEncoding=utf8&useSSL=false
username: ${mysql_username:root}
password: ${mysql_password:123456}
driver-class-name: com.mysql.jdbc.Driver
5.完成dao层mysql查询方法
package cn.lei.dockertest.dao;
import cn.lei.dockertest.model.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
/**
* @author leimin
* @DESCRIPTION
* @time 2019/08/20
**/
@Repository
public interface IDockerDao {
@Results(id = "userMap",
value = {
@Result(column = "user_id", property = "userId"),
@Result(column = "name", property = "name"),
@Result(column = "sex", property = "sex"),
@Result(column = "avatar", property = "avatar"),
@Result(column = "create_time", property = "createTime"),
@Result(column = "update_time", property = "updateTime")
}
)
@Select("select * from user where user_id = #{id} order by create_time desc ")
User getById(@Param("id") Long id);
}
6.将dao层组件,使用@MapperScan注解,添加到springBoot扫描范围中去,不然跑不起来
package cn.lei.dockertest;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* ElasticsearchApplication
*/
@SpringBootApplication(scanBasePackages = {"cn.lei", "cc.iooc"})
@EnableFeignClients(basePackages = {"cn.lei", "cc.iooc"})
@MapperScan("cn.lei.dockertest.dao")
public class DockertestApplication {
/**
* main
*
* @param args args
*/
public static void main(String[] args) {
SpringApplication.run(DockertestApplication.class, args);
}
}