使用Spring Boot同时连接MySQL和SQL Server
在实际的项目开发中,有时候我们需要同时连接多个数据库进行数据操作。本文将介绍如何使用Spring Boot框架来实现同时连接MySQL和SQL Server数据库,并进行简单的数据操作。
准备工作
在开始之前,我们需要准备好MySQL和SQL Server的数据库,并创建对应的表。这里我们分别创建一个名为users
的表,用于存储用户信息。
MySQL数据库表结构
Field | Type |
---|---|
id | int(11) |
name | varchar(255) |
age | int(11) |
SQL Server数据库表结构
Field | Type |
---|---|
id | int |
name | varchar(255) |
age | int |
创建Spring Boot项目
首先,我们需要创建一个Spring Boot项目。可以通过Spring Initializr(
添加依赖
在pom.xml
文件中添加MySQL和SQL Server的依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
</dependency>
配置数据源
在application.properties
文件中配置MySQL和SQL Server的数据源:
# MySQL数据源
spring.datasource.mysql.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.mysql.username=root
spring.datasource.mysql.password=root
# SQL Server数据源
spring.datasource.sqlserver.url=jdbc:sqlserver://localhost:1433;databaseName=db_example
spring.datasource.sqlserver.username=sa
spring.datasource.sqlserver.password=Password123
创建实体类
创建一个User
实体类,用于映射数据库表:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Integer age;
// 省略getter和setter
}
创建Repository
创建UserRepository
接口,并分别继承JpaRepository
接口:
public interface UserRepositoryMySQL extends JpaRepository<User, Long> {
}
public interface UserRepositorySQLServer extends JpaRepository<User, Long> {
}
编写业务逻辑
编写一个UserService
类,用于操作用户数据:
@Service
public class UserService {
@Autowired
private UserRepositoryMySQL userRepositoryMySQL;
@Autowired
private UserRepositorySQLServer userRepositorySQLServer;
public List<User> getAllUsersMySQL() {
return userRepositoryMySQL.findAll();
}
public List<User> getAllUsersSQLServer() {
return userRepositorySQLServer.findAll();
}
}
控制器
创建一个UserController
控制器,用于处理用户请求:
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/mysql")
public List<User> getAllUsersMySQL() {
return userService.getAllUsersMySQL();
}
@GetMapping("/sqlserver")
public List<User> getAllUsersSQLServer() {
return userService.getAllUsersSQLServer();
}
}
测试
启动Spring Boot应用程序,并访问以下URL来查看数据:
- MySQL数据:http://localhost:8080/users/mysql
- SQL Server数据:http://localhost:8080/users/sqlserver
至此,我们已经成功实现了使用Spring Boot框架同时连接MySQL和SQL Server数据库,并进行数据操作。
总结
本文介绍了如何使用Spring Boot框架同时连接MySQL和SQL Server数据库,并实现简单的数据操作。通过配置不同的数据源和创建对应的Repository,我们可以方便地操作多个数据库。希望本文对你有所帮助!