首先是pom.xml配置:
<?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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.wangye</groupId>
<artifactId>spboot-jdbc</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spboot-jdbc</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
要注意这两个依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
然后就是application.properties配置:
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#以上的配置是最简单的配置,要查详细配置,自行百度
配置是完了,但是我们要有数据源,本地新建一个数据库,然后新建一张表:
有了user表就应该有对应的实体类:
public class User {
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
然后是Service:
@Service
public class UserService {
@Autowired
private JdbcTemplate jdbcTemplate;
public User getUserById(Long id){
User user;
String sql = "select * from user where id = ?";
List<User> users = jdbcTemplate.query(sql, new Object[] {id},new BeanPropertyRowMapper<User>(User.class));
if (users.size() > 0){
user = users.get(0);
return user;
}else {
return null;
}
}
}
然后是Controller:
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/getUserById/{id}",method = RequestMethod.GET)
public User getUserById(@PathVariable("id") Long id){
return userService.getUserById(id);
}
}
启动类:
@SpringBootApplication
public class SpbootJdbcApplication {
public static void main(String[] args) {
SpringApplication.run(SpbootJdbcApplication.class, args);
}
}
为了扫到注解,给大家看 一下项目的结构:
这样之后,启动项目,访问该访问的地址,就能访问接口了
本示例笔者已经放在github,连接SpringBoot整合JDBCTemplate