Files
zhamao-framework/assets/js/43.5ee83631.js

1 line
74 KiB
JavaScript
Raw Normal View History

2024-09-19 08:29:13 +00:00
(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{754:function(s,t,a){"use strict";a.r(t);var n=a(84),e=Object(n.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"数据库"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#数据库"}},[s._v("#")]),s._v(" 数据库")]),s._v(" "),t("h2",{attrs:{id:"简介"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#简介"}},[s._v("#")]),s._v(" 简介")]),s._v(" "),t("p",[s._v("炸毛框架的数据库组件对接了 MySQL、SQLite、PostgreSQL 连接池,在使用过程中无需配置即可实现 SQL 查询,同时拥有高并发。")]),s._v(" "),t("p",[s._v("目前 2.5 版本后炸毛框架底层采用了 "),t("code",[s._v("doctrine/dbal")]),s._v(" 组件,可以方便地构建 SQL 语句。")]),s._v(" "),t("p",[s._v("本章大体查询内容均以下表 "),t("code",[s._v("users")]),s._v(" 为基础:")]),s._v(" "),t("table",[t("thead",[t("tr",[t("th",[s._v("id")]),s._v(" "),t("th",[s._v("username")]),s._v(" "),t("th",[s._v("gender")]),s._v(" "),t("th",[s._v("update_time")])])]),s._v(" "),t("tbody",[t("tr",[t("td",[s._v("1")]),s._v(" "),t("td",[s._v("jack")]),s._v(" "),t("td",[s._v("man")]),s._v(" "),t("td",[s._v("2021-10-12")])]),s._v(" "),t("tr",[t("td",[s._v("2")]),s._v(" "),t("td",[s._v("rose")]),s._v(" "),t("td",[s._v("woman")]),s._v(" "),t("td",[s._v("2021-10-11")])])])]),s._v(" "),t("h2",{attrs:{id:"连接池"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#连接池"}},[s._v("#")]),s._v(" 连接池")]),s._v(" "),t("p",[s._v("炸毛框架的数据库组件支持原生 SQL、查询构造器去掉了复杂的对象模型关联同时默认为数据库连接池使开发变得简单。")]),s._v(" "),t("p",[s._v("数据库的配置位于 "),t("code",[s._v("config/global.php")]),s._v(" 文件的 "),t("code",[s._v("database")]),s._v(" 段,框架支持多个数据库的连接,其中字段示例如下,下面两段分别为使用 SQLite、MySQL 时的配置项:")]),s._v(" "),t("div",{staticClass:"language-php line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-php"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("/* MySQL 和 SQLite3 数据库连接配置,框架将自动生成连接池,支持多个连接池 */")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token variable"}},[s._v("$config")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[s._v("'database'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[s._v("'sqlite_db1'")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=>")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 数据库连接池名称")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[s._v("'enable'")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=>")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token constant boolean"}},[s._v("false")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 是否启用")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[s._v("'type'")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=>")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string single-quoted-string"}},[s._v("'sqlite'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 类型,支持 sqlte、mysql、pgsql 三种")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string single-qu