Spring Boot可以通过配置多个数据源来实现连接多个数据库,并且实现数据的增、删、改、查等基本操作。下面是一个简单的例子,演示如何在Spring Boot中同时连接两个MySQL数据库,并实现基本操作:
# 数据源 1
spring.datasource.url=jdbc:mysql://localhost:3306/db1
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 数据源 2
datasource2.url=jdbc:mysql://localhost:3306/db2
datasource2.username=root
datasource2.password=123456
datasource2.driver-class-name=com.mysql.jdbc.Driver
注意:这里使用了默认的HikariCP连接池,如果需要使用其他连接池,需要引入对应的库并进行配置。
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "datasource2")
@ConfigurationProperties(prefix = "datasource2")
public DataSource dataSource2() {
return DataSourceBuilder.create().build();
}
}
@Configuration public class JdbcConfig {
@Autowired @Qualifier("dataSource")
private DataSource dataSource;
@Autowired @Qualifier("dataSource2")
private DataSource dataSource2;
@Bean(name = "jdbcTemplate1")
public JdbcTemplate jdbcTemplate1() {
return new JdbcTemplate(dataSource);
}
@Bean(name = "jdbcTemplate2")
public JdbcTemplate jdbcTemplate2()
{
return new JdbcTemplate(dataSource2);
}
}
4、在代码中使用JdbcTemplate对象执行SQL语句:
@Service public class UserService {
@Autowired
@Qualifier("jdbcTemplate1")
private JdbcTemplate jdbcTemplate1;
@Autowired @Qualifier("jdbcTemplate2")
private JdbcTemplate jdbcTemplate2; /
/ 查询用户信息
public List<User> getUserList() {
String sql = "SELECT * FROM user";
List<User> userList = jdbcTemplate1.query(sql, new BeanPropertyRowMapper<>(User.class));
return userList;
}
// 添加用户信息
public int addUser(User user) {
String sql = "INSERT INTO user (name, age) VALUES (?, ?)";
int result = jdbcTemplate2.update(sql, user.getName(), user.getAge());
return result;
}
// 修改用户信息
public int updateUser(User user) {
String sql = "UPDATE user SET name=?, age=? WHERE id=?";
int result = jdbcTemplate2.update(sql, user.getName(), user.getAge(), user.getId());
return result; }
// 删除用户信息
public int deleteUser(int id) {
String sql = "DELETE FROM user WHERE id=?";
int result = jdbcTemplate1.update(sql, id);
return result;
}
}
以上就是一个简单的在Spring Boot中连接多个MySQL数据库,并实现数据的增、删、改、查等基本操作的例子。如果需要连接其他类型的数据库,只需更改相关的驱动和连接字符串即可。