<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.carl</groupId>
<artifactId>mobile-test-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>mobile-test-service</name>
<description>Mobile Test Service</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator-docs</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-data-mongodb</artifactId>-->
<!--</dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jooq</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>6.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
说明一下,这里的 orcale 的 jar 包是我通过 mvn install 的方法单独放到我本地的仓库中去的
mvn install:install-file -Dfile=C:/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=6.0 -Dpackaging=jar -DgeneratePom=true
### Database for Oracle ###
spring.datasource.url=jdbc:oracle:thin:@192.168.2.7:1521:orcl
spring.datasource.username=zyolap
spring.datasource.password=zyolap123
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
### Mybatis ###
#显示执行的SQL命令
logging.level.com.carl.mobiletestservice=DEBUG
package com.carl.mobiletestservice;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.carl.mobiletestservice.mapper")
public class MobileTestServiceApplication {
public static void main(String[] args) {
SpringApplication.run(MobileTestServiceApplication.class, args);
}
}
package com.carl.mobiletestservice.beans;
import lombok.Data;
@Data
public class Event {
private String eventid;
}
package com.carl.mobiletestservice.mapper;
import com.carl.mobiletestservice.beans.Event;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;
@Component(value = "eventMapper")
public interface EventMapper {
@Select("SELECT * FROM dw_event_fact_c where rownum = 1")
Event getOne();
@Select("SELECT * FROM dw_event_fact_c where ${key} = '" + "${value}' AND rownum = 1")
Event getOneByKeyValue(@Param("key") String key, @Param("value") String value);
}
package com.carl.mobiletestservice.controller;
import com.carl.mobiletestservice.beans.Event;
import com.carl.mobiletestservice.mapper.EventMapper;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping(value = "event")
@Slf4j
public class EventController {
@Autowired
private EventMapper eventMapper;
@ApiOperation(value = "获取最新的一条记录")
@RequestMapping(value = "/", method = RequestMethod.GET)
public Event getEvent() {
log.debug("getEvent:" + eventMapper.getOne().toString());
return eventMapper.getOne();
}
@ApiOperation(value = "根据key和value获取最新的一条记录")
@RequestMapping(value = "/key/{key}/value/{value}", method = RequestMethod.GET)
public Event getEvent(@PathVariable String key, @PathVariable String value) {
log.debug("getEvent:" + eventMapper.getOneByKeyValue(key, value).toString());
return eventMapper.getOneByKeyValue(key, value);
}
}
package com.carl.mobiletestservice;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.carl.mobiletestservice.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Spring Boot中使用Swagger2构建RESTful APIs")
.description("移动端测试服务")
.contact(new Contact("clark", "https://testerhome.com/carl", "bauul@126.com"))
.version("1.0")
.build();
}
}
mvn package
java -jar ***.jar