微服务springcloud如何连接数据库
时间: 2023-07-26 20:07:07 浏览: 58
在微服务架构中,每个服务都可以有自己的数据库或共享同一数据库。Spring Cloud提供了多种方法来连接数据库,最常见的是使用Spring Data JPA和Spring JDBC。
使用Spring Data JPA连接数据库的步骤如下:
1. 添加Spring Data JPA依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
```
2. 配置数据源和JPA:
```
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
```
3. 创建实体类和Repository接口:
```
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "age")
private Integer age;
// getter and setter
}
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
User findByName(String name);
}
```
4. 在服务中使用Repository:
```
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User findUserByName(String name) {
return userRepository.findByName(name);
}
}
```
使用Spring JDBC连接数据库的步骤如下:
1. 添加Spring JDBC依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
```
2. 配置数据源:
```
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
3. 在服务中使用JdbcTemplate:
```
@Service
public class UserService {
@Autowired
private JdbcTemplate jdbcTemplate;
public User findUserByName(String name) {
return jdbcTemplate.queryForObject("SELECT * FROM user WHERE name = ?", new Object[]{name}, new BeanPropertyRowMapper<>(User.class));
}
}
```
以上是连接数据库的两种基本方法,可以根据实际情况选择适合自己的方法。