数据库开发 PHP
开发者在进行数据库相关开发时可以使用自己的方式开发如使用 spring-jpa,也可以使用有赞推荐的方式进行开发,有赞对数据库连接池、事务等进行了封装,配置即可使用,方便开发,提升开发效率,推荐使用并且会提供答疑。
添加组件
如上图所示:
-
选择应用,进入应用管理;
-
点击组件管理
-
点击新增组件,选择 mysql
配置查看
创建后,进入配置管理
应用配置
,可以看到 mysql 的相关配置。
建数据库表
- 点击右上角
管理控制台
按钮:
- 进入控制台【phpadmin】,输入上面页面中的 uri、用户名、密码等信息进行登录:
- 登录进去后可以建库、建表。
编写代码
有赞云 php 框架封装了数据库访问,基于 facade 封装了一个 DBFacade,DBFacade 底层实现会根据开发者是否申请 Mysql 组件,利用 Mysql 配置自动初始化 DB 实例。
<上下滑动查看全部内容>
<?php
namespace YouzanCloudBootApp\Controller;
use PDO;
use Slim\Http\Request;
use Slim\Http\Response;
use YouzanCloudBoot\Component\BaseComponent;
use YouzanCloudBoot\Facades\DBFacade;
use YouzanCloudBoot\Facades\LogFacade;
class TestMysqlController extends BaseComponent
{
public function index(Request $request, Response $response, $args)
{
LogFacade::info("use test_pub_php");
DBFacade::exec('use test_pub_php');
//插入数据
LogFacade::info("insert into demo_user");
$insertStmt = DBFacade::prepare("INSERT INTO `demo_user`(`name`, `phone`, `sex`) VALUES ('testUser', 987654321, 1)");
$insertStmt->execute();
//查询数据
LogFacade::info("select demo_user");
$queryStmt = DBFacade::query("select * from `demo_user` where name='testUser'");
//单个查询
$result = $queryStmt->fetch(PDO::FETCH_ASSOC);
if (empty($result)) {
return $response->withJson(['phone' => 'empty']);
} else {
return $response->withJson(['phone' => $result['phone']]);
}
//批量查询
// $result = $queryStmt->fetchAll(PDO::FETCH_ASSOC);
// if (empty($result)) {
// return $response->withJson(['phone' => 'empty']);
// } else {
// return $response->withJson(['phone' => $result[0]['phone']]);
// }
}
}
如上所示,DBFacade 有大部分 db 操作的 api,可以根据自己需要来使用。