创建数据库
再Idea配置
pom文件配置
配置先配置依赖pom文件
<dependencies>
<dependency>
<groupId>org
.springframework
.boot
</groupId
>
<artifactId>spring
-boot
-starter
-web
</artifactId
>
</dependency
>
<dependency>
<groupId>org
.springframework
.boot
</groupId
>
<artifactId>spring
-boot
-starter
-data
-jdbc
</artifactId
>
</dependency
>
<dependency>
<groupId>org
.springframework
.boot
</groupId
>
<artifactId>spring
-boot
-starter
-data
-jpa
</artifactId
>
</dependency
>
<dependency>
<groupId>org
.springframework
.boot
</groupId
>
<artifactId>spring
-boot
-starter
-jdbc
</artifactId
>
</dependency
>
<dependency>
<groupId>mysql
</groupId
>
<artifactId>mysql
-connector
-java
</artifactId
>
<scope>runtime
</scope
>
</dependency
>
<!-- druid数据库连接池
-->
<dependency>
<groupId>com
.alibaba
</groupId
>
<artifactId>druid
</artifactId
>
<version>1.1.10</version
>
</dependency
>
<!--lombok依赖
-->
<dependency>
<groupId>org
.projectlombok
</groupId
>
<artifactId>lombok
</artifactId
>
<optional>true</optional
>
</dependency
>
<!--redis依赖配置
-->
<dependency>
<groupId>org
.springframework
.boot
</groupId
>
<artifactId>spring
-boot
-starter
-data
-redis
</artifactId
>
</dependency
>
<!--Swagger
-UI API文档生产工具
-->
<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
>
<dependency>
<groupId>org
.springframework
.boot
</groupId
>
<artifactId>spring
-boot
-starter
-test
</artifactId
>
<scope>test
</scope
>
<exclusions>
<exclusion>
<groupId>org
.junit
.vintage
</groupId
>
<artifactId>junit
-vintage
-engine
</artifactId
>
</exclusion
>
</exclusions
>
</dependency
>
</dependencies
>
application文件配置
配置application文件链接mysql数据库和redis
spring
:
datasource
:
type
: com
.alibaba
.druid
.pool
.DruidDataSource
driver
-class-name
: com
.mysql
.cj
.jdbc
.Driver
url
: jdbc
:mysql
://127.0.0.1:3307/data
?useSSL
=false&useUnicode
=true&characterEncoding
=utf
-8&autoReconnect
=true&serverTimezone
=Asia
/Shanghai
username
: root
password
: 123456
initialSize
: 20
minIdle
: 50
maxActive
: 500
jpa
:
hibernate
:
ddl
-auto
: update
show
-sql
: true
redis
:
host
: localhost # Redis服务器地址
database
: 0 # Redis数据库索引(默认为
0)
port
: 6379 # Redis服务器连接端口
password
: 123456 # Redis服务器连接密码(默认为空)
jedis
:
pool
:
max
-active
: 8 # 连接池最大连接数(使用负值表示没有限制)
max
-wait
: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max
-idle
: 8 # 连接池中的最大空闲连接
min
-idle
: 0 # 连接池中的最小空闲连接
timeout
: 3000ms # 连接超时时间(毫秒)
UserController文件配置
配置UserController文件
package com
.nmgdz
.bigdata
.controller
;
import com
.nmgdz
.bigdata
.entity
.User
;
import com
.nmgdz
.bigdata
.service
.RedisService
;
import com
.nmgdz
.bigdata
.service
.UserService
;
import org
.springframework
.beans
.factory
.annotation
.Autowired
;
import org
.springframework
.web
.bind
.annotation
.*
;
@RestController
@RequestMapping("user")
public class UserController {
@Autowired
private UserService userService
;
@Autowired
private RedisService redisService
;
@GetMapping("/queryById")
public User
queryById(int id
) {
return userService
.queryById(id
);
}
UserDao文件配置
配置UserDao文件
package com
.nmgdz
.bigdata
.dao
;
import com
.nmgdz
.bigdata
.entity
.User
;
import org
.springframework
.data
.jpa
.repository
.JpaRepository
;
import java
.util
.List
;
public interface UserDao extends JpaRepository<User, Integer> {
User
findById(int id
);
}
User文件配置
配置User文件
package com
.nmgdz
.bigdata
.entity
;
import lombok
.Data
;
import org
.hibernate
.annotations
.CreationTimestamp
;
import org
.springframework
.format
.annotation
.DateTimeFormat
;
import javax
.persistence
.*
;
import java
.io
.Serializable
;
import java
.math
.BigDecimal
;
import java
.util
.Date
;
@Table(name
= "data_ys")
@Entity
@Data
public class User implements Serializable {
@Id
@GeneratedValue(strategy
= GenerationType
.IDENTITY
)
private Integer id
;
private String company_code
;
private Boolean monitor_type
;
private String sys_name
;
private Integer equipment_type_id
;
private String equipment_type_name
;
private Integer sensor_type_id
;
private String sensor_type_name
;
private Integer technology_type_id
;
private String technology_type_name
;
private String department
;
private String sensor_code
;
private String location
;
private String storage_material
;
private BigDecimal level_alarm_high
;
private BigDecimal secondary_alarm_high
;
private BigDecimal level_alarm_low
;
private BigDecimal secondary_alarm_low
;
private Integer operate_id
;
private String operate_username
;
@CreationTimestamp
@Column(name
="create_time")
@DateTimeFormat(pattern
= "yyyy-mm-dd")
private Date create_time
;
@CreationTimestamp
@Column(name
="update_time")
@DateTimeFormat(pattern
= "yyyy-mm-dd")
private Date update_time
;
}
RedisServiceImpl文件配置
配置RedisServiceimpl文件
package com
.nmgdz
.bigdata
.service
.impl
;
import com
.nmgdz
.bigdata
.service
.RedisService
;
import org
.springframework
.beans
.factory
.annotation
.Autowired
;
import org
.springframework
.data
.redis
.core
.StringRedisTemplate
;
import org
.springframework
.stereotype
.Service
;
import java
.util
.concurrent
.TimeUnit
;
@Service
public class RedisServiceImpl implements RedisService {
@Autowired
private StringRedisTemplate stringRedisTemplate
;
@Override
public void set(String key
, String value
) {
stringRedisTemplate
.opsForValue().set(key
, value
);
}
@Override
public String
get(String key
) {
return stringRedisTemplate
.opsForValue().get(key
);
}
@Override
public boolean expire(String key
, long expire
) {
return stringRedisTemplate
.expire(key
, expire
, TimeUnit
.SECONDS
);
}
@Override
public void remove(String key
) {
stringRedisTemplate
.delete(key
);
}
@Override
public Long
increment(String key
, long delta
) {
return stringRedisTemplate
.opsForValue().increment(key
, delta
);
}
}
UserServiceImpl文件配置
配置UserServiceImpl文件
package com
.nmgdz
.bigdata
.service
.impl
;
import com
.nmgdz
.bigdata
.dao
.UserDao
;
import com
.nmgdz
.bigdata
.entity
.User
;
import com
.nmgdz
.bigdata
.service
.UserService
;
import org
.springframework
.beans
.factory
.annotation
.Autowired
;
import org
.springframework
.stereotype
.Service
;
import java
.util
.List
;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao
;
@Override
public User
save(User user
) {
return userDao
.save(user
);
}
@Override
public void deletUserById(int id
) {
userDao
.deleteById(id
);
}
@Override
public User
queryById(int id
) {
return userDao
.findById(id
);
}
}
RedisService文件配置
配置RedisService文件
package com
.nmgdz
.bigdata
.service
;
public interface RedisService {
void set(String key
, String value
);
String
get(String key
);
boolean expire(String key
, long expire
);
void remove(String key
);
Long
increment(String key
, long delta
);
}
UserService文件配置
配置UserService文件
package com
.nmgdz
.bigdata
.service
;
import com
.nmgdz
.bigdata
.entity
.User
;
import java
.util
.List
;
public interface UserService {
User
save(User user
);
void deletUserById(int id
);
User
queryById(int id
);
}
Swagger2Config文件配置
配置Swagger2Config文件
package com
.nmgdz
.bigdata
.config
;
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
.spi
.DocumentationType
;
import springfox
.documentation
.spring
.web
.plugins
.Docket
;
import springfox
.documentation
.swagger2
.annotations
.EnableSwagger2
;
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket
createRestApi(){
return new Docket(DocumentationType
.SWAGGER_2
)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors
.basePackage("com.nmgdz.bigdata.controller"))
.paths(PathSelectors
.any())
.build();
}
private ApiInfo
apiInfo() {
return new ApiInfoBuilder()
.title("第三次演示")
.description("内蒙古电子大数据工坊")
.contact("xhd")
.version("1.0")
.build();
}
}
进入浏览器查看
http://localhost:8080/swagger-ui.html#!/user45controller/queryByIdUsingGET
也可以再Postman查看