mybatis apollo
时间: 2023-11-23 16:06:47 浏览: 102
Mybatis的一些实践
MyBatis是一种持久层框架,它可以将Java对象映射到关系数据库中的数据。而Apollo是携程开源的一款分布式配置中心,可以实现配置的动态获取和生效,不需要重启服务。MyBatis和Apollo的结合可以实现数据库连接等配置的动态获取和生效,从而提高系统的可维护性和可扩展性。
具体实现步骤如下:
1.在pom.xml文件中添加Apollo和MyBatis的依赖。
```xml
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.7.1</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
```
2.在application.yml文件中添加Apollo的配置信息。
```yaml
app:
id: your-app-id
env: DEV
cluster: default
apollo:
meta: http://localhost:8080
```
3.在MyBatis的配置文件中使用Apollo的配置信息。
```xml
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
```
4.在Java代码中使用MyBatis的Mapper接口进行数据库操作。
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserById(Long id) {
return userMapper.selectByPrimaryKey(id);
}
}
```
阅读全文