赞
踩
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。
本期实验可以让您快速体验PolarDB-X,让你像使用单机MySQL一样使用分布式数据库,直观感受PolarDB-X的MySQL兼容性。
假设已经根据前一讲内容完成了PolarDB-X的搭建部署,可以成功链接上PolarDB-X数据库。
PolarDB-X:实践教程之如何快速安装部署PolarDB-X
执行如下命令,使用yum安装JDK 1.8。
yum -y install java-1.8.0-openjdk*
执行如下命令,查看是否安装成功
java -version
返回结果如下,表示您已成功安装JDK 1.8。
执行如下命令,安装Git。
yum -y install git
执行如下命令,下载Spring Boot样例工程。
git clone https://github.com/spring-guides/gs-accessing-data-mysql.git
执行如下命令,进入initial目录。
cd gs-accessing-data-mysql/initial git checkout b8408e3a1e05008811d542b706107d45160556ac
执行如下命令,查看样例工程代码。
ls
创建数据库
- 1 执行如下命令,登录PolarDB-X数据库。
- mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
-
- 2 执行如下SQL语句,创建数据库db_example。
- create database db_example;
-
- 3 执行如下SQL语句,创建用户springuser。
- create user 'springuser'@'%' identified by 'ThePassword';
-
- 4 执行如下SQL语句,给用户springuser授权。
- grant all on db_example.* to 'springuser'@'%';
-
- 5 输入exit退出数据库。
配置application.properties文件,将数据库连接到Spring Boot样例工程。
- 1 执行如下命令,打开application.properties配置文件。
- vim src/main/resources/application.properties
-
- 2 按i键进入编辑模式,找到参数spring.datasource.url,并将参数值中的端口号修改为8527。
- spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:8527/db_example
-
- 3 修改完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。
创建Entity Model
1 执行如下命令,创建一个User类。
vim src/main/java/com/example/accessingdatamysql/User.java
2 将如下代码复制粘贴到User类中。
- package com.example.accessingdatamysql;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- @Entity // This tells Hibernate to make a table out of this class
- public class User {
- @Id
- @GeneratedValue(strategy=GenerationType.AUTO)
- private Integer id;
- private String name;
- private String email;
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getEmail() {
- return email; }
- public void setEmail(String email) {
- this.email = email;
- }
- }
3 修改完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。
创建Repository,保存用户记录
1 执行如下命令,创建一个UserRepository类。
vim src/main/java/com/example/accessingdatamysql/UserRepository.java
2 将如下代码复制粘贴到UserRepository类中。
package com.example.accessingdatamysql; import org.springframework.data.repository.CrudRepository; import com.example.accessingdatamysql.User; // This will be AUTO IMPLEMENTED by Spring into a Bean called userRepository // CRUD refers Create, Read, Update, Delete public interface UserRepository extends CrudRepository<User, Integer> { }
3 修改完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。
创建一个Controller类,处理对应用程序的HTTP请求
1 执行如下命令,创建一个MainController类。
vim src/main/java/com/example/accessingdatamysql/MainController.java
2 将如下代码复制粘贴到MainController类中。
- package com.example.accessingdatamysql;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- @Controller // This means that this class is a Controller
- @RequestMapping(path="/demo") // This means URL's start with /demo (after Application path)
- public class MainController {
- @Autowired
- // This means to get the bean called userRepository
- // Which is auto-generated by Spring, we will use it to handle the data
- private UserRepository userRepository;
- @PostMapping(path="/add")
- // Map ONLY POST Requests
- public @ResponseBody String addNewUser (@RequestParam String name
- , @RequestParam String email) {
- // @ResponseBody means the returned String is the response, not a view name
- // @RequestParam means it is a parameter from the GET or POST request
- User n = new User();
- n.setName(name);
- n.setEmail(email);
- userRepository.save(n);
- return "Saved";
- }
-
- @GetMapping(path="/all")
- public @ResponseBody Iterable<User> getAllUsers() {
- // This returns a JSON or XML with the users
- return userRepository.findAll();
- }
- }
3 修改完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。
创建一个Application
说明 :Spring Boot样例工程中已为您创建好AccessingDataMysqlApplication类,您可跳过此步骤。
1 执行如下命令,创建一个AccessingDataMysqlApplication类。
vim src/main/java/com/example/accessingdatamysql/AccessingDataMysqlApplication.java
2 按i键进入编辑模式,将如下代码复制粘贴到User类中。
- package com.example.accessingdatamysql;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- @SpringBootApplication
- public class AccessingDataMysqlApplication {
- public static void main(String[] args) {
- SpringApplication.run(AccessingDataMysqlApplication.class, args);
- }
- }
3 修改完成后的文件内容如下所示。按下Esc键后,输入:wq后按下Enter键保存并退出。
运行Spring Boot样例工程
执行如下命令,运行Spring Boot样例工程。
./gradlew bootRun
请您耐心等待大约两分钟,返回结果如下,表示您成功运行。
测试
在实验页面,单击右上角的
图标,创建新的终端窗口。
在新的终端窗口中,执行如下命令,增加一条记录。
curl localhost:8080/demo/add -d name=First -d email=username@example.com
返回结果如下,表示您成功增加一条记录。
执行如下命令,查询记录。
curl 'localhost:8080/demo/all'
返回结果如下,您可以查询到刚刚增加的记录信息。
执行如下命令,登录PolarDB-X数据库。
mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
执行如下SQL语句,使用数据库。
use db_example;
执行如下SQL语句,查询user表。
select * from user;
返回如下结果,您可以在user表查询到刚刚增加的记录。
输入exit退出数据库。
本步骤将指导您如何使用Wordpress的Docker镜像和PolarDB-X搭建一个博客站点。Wordpress提供了Docker镜像,方便其快速安装,详情请参见WordPress的Docker Hub主页。
安装WordPress
执行如下命令,安装WordPress。
docker run --name some-wordpress -p 9090:80 -d wordpress
创建WordPress的数据库。
- 1 执行如下命令,登录PolarDB-X数据库。
- mysql -h127.0.0.1 -P8527 -upolardbx_root -p123456
-
- 2 执行如下SQL语句,创建数据库wordpress。
- create database wordpress MODE='AUTO';
-
- 3 输入exit退出数据库。
配置WordPress
在您的本机浏览器中,打开新页签,访问http://<ECS的弹性IP>:9090。
在初始化页面,选择简体中文,单击继续。
在准备页面,单击现在就开始。
在数据库配置页面,参考说明配置数据库信息,单击提交。
参数说明:
数据库名:默认为wordpress。
用户名:输入polardbx_root。
密码:输入123456。
数据库主机:输入<ECS的弹性IP>:8527。您需要将<ECS的弹性IP>替换为云产品资源列表中的ECS的弹性IP。
表前缀:默认为wp_。
在数据库配置完成页面,单击运行安装程序。
在信息配置页面,参考说明配置相关信息,单击安装WordPress。
参数说明:
站点标题:输入站点标题,例如myblog。
用户名:输入用户名,例如admin。
密码:输入密码。
您的电子邮箱地址:输入邮箱地址。建议使用真实有效的邮箱地址,若没有,可以填写虚拟邮箱地址,但将无法接收信息,例如username@example.com。
在成功页面,单击登录。
在登录页面,依次输入您的用户名和密码,单击登录。
本文为阿里云原创内容,未经允许不得转载。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。