java SpringBoot 连接OceanBase Cloud
官网教程:https://www.oceanbase.com/docs/common-oceanbase-cloud-10000000001780095
一、前提条件
二、注册 OB Cloud 云数据库账号,并创建集群实例和 MySQL 兼容模式租户
1. 创建实例
进入oceanbase官网:https://www.oceanbase.com/docs
点击免费试用
创建需要的实例后会自动跳转到这个页面
2. 创建数据库
3. 创建账号
进入账号管理,点击创建账号
编辑信息:
创建完成:
4. 连接数据库
回到sql控制台,选择刚刚创建的账号
连接之后就进入数据库了
三、获取目标租户的连接串
官网教程:https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000001346098
1. 点击获取连接串
哪里都有,到处都是,只要是获取连接串这五个字就可以
2. 添加IP地址
3. 复制连接串
四、在ODC(OceanBase Developer Center)上尝试连接
官方教程:https://www.oceanbase.com/docs/common-oceanbase-cloud-1000000001346099
复制刚刚的连接串进行智能解析
自定义数据源名称
连接成功
五、SpringBoot 连接 OceanBase
1.1 修改Pom.xml文件
打开IDEA需要连接的项目,打开Pom.xml 文件
添加
<dependency>
<groupId>com.oceanbase</groupId>
<artifactId>oceanbase-client</artifactId>
<version>2.4.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
1.2 修改配置文件
官方教程:https://www.oceanbase.com/docs/common-oceanbase-cloud-10000000001780095
这里需要之前连接串中的内容
和数据库的名字
和之前创建的账号和密码
1.2.1 如果是 application.yml 文件
datasource:
driverClassName: com.oceanbase.jdbc.Driver
url: jdbc:oceanbase://[之前连接串中的内容①]:[连接串中的端口②]/[自己之前新建的数据库的名字③]?useSSL=false&useUnicode=true&characterEncoding=utf-8
username: [账号]
password: [密码]
1.2.2 如果是 application.properties 文件
spring.datasource.driverClassName=com.oceanbase.jdbc.Driver
spring.datasource.url=jdbc:oceanbase:///[之前连接串中的内容①]:[连接串中的端口②]/[自己之前新建的数据库的名字③]?useSSL=false&useUnicode=true&characterEncoding=utf-8
spring.datasource.username=[账号]
spring.datasource.password=[密码]
六、尝试连接
SpringBoot 连接 OceanBase 数据库示例程序:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218434
1. Entity类
public class User {
private int AUTOID;
private String UserName;
public User() {
}
public User(int AUTOID, String UserName) {
this.AUTOID = AUTOID;
this.UserName = UserName;
}
public int getAUTOID() {
return AUTOID;
}
public void setAUTOID(int AUTOID) {
this.AUTOID = AUTOID;
}
public String getUserName() {
return UserName;
}
public void setUserName(String UserName) {
this.UserName = UserName;
}
@Override
public String toString() {
return "User{" +
"AUTOID=" + AUTOID +
", UserName='" + UserName + '\'' +
'}';
}
}
2. service层
public interface UserService {
List<User> selectAllUsers();
}
@Repository("UserService")
public class UserDaoImpl implements UserService {
@Autowired
private JdbcTemplate jdbcTemplate; //Jdbc connection tool class
@Override
public List<User> selectAllUsers() {
String sql = "select * from user_info";
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<User>(User.class));
}
}
3. Controller层
@Resource
private UserService userService;
@ResponseBody
@GetMapping(value = "/user/getAll")
public List<User> selectAllUsers() {
return userService.selectAllUsers();
}