tp5配置mysql长链接无效_Thinkphp5数据库连接方式、 修改TP5框架数据库连接方式为:不重新链接 vs 不同表连接不同数据库...

1、修改TP5框架数据库连接方式为不重新链接。

2、不同表连接不同数据库。

我们只需要重写db函数即可,至于写在那个函数文件里,就看项目了。

推荐写在common.php项目函数公共文件里

方法源码如下:<?php

// +----------------------------------------------------------------------

// | 项目共用函数库

// +----------------------------------------------------------------------

use think\Db;

/**

* 实例化数据库类,默认改为不重新链接

* @param string        $name 操作的数据表名称(不含前缀)

* @param array|string  $config 数据库配置参数

* @param bool          $force 是否强制重新连接

* @return object

*/

function db($name = '', $config = [], $force = false)

{

return Db::connect(getConnection($name), $force)->name($name);

}

/**

* 获取须查询表对应数据库配置(不同表需要连接不同的数据库)

* @param string $name 操作的数据表名称(不含前缀)

* return array

*/

function getConnection($name){

static $cnnt = [];

$__tbname = strtolower($name);

if(!isset($cnnt[$__tbname])){

$cnnt[$__tbname] = include(APP_PATH.'/database.php');

}

return $cnnt[$__tbname];

}

?>

database.php数据库连接配置文件配置详情:<?php

// +----------------------------------------------------------------------

// | ThinkPHP [ WE CAN DO IT JUST THINK ]

// +----------------------------------------------------------------------

// | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved.

// +----------------------------------------------------------------------

// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )

// +----------------------------------------------------------------------

// | Author: liu21st 

// +----------------------------------------------------------------------

// 默认库1

$default =  [

// 数据库类型

'type'           => 'mysql',

// 服务器地址

'hostname'       => '172.0.0.1',

// 数据库名

'database'       => 'test01',

// 用户名

'username'       => 'root',

// 密码

'password'       => 'root',

// 端口

'hostport'       => '3306',

// 连接dsn

'dsn'            => '',

// 数据库连接参数

'params'         => [],

// 数据库编码默认采用utf8

'charset'        => 'utf8',

// 数据库表前缀

'prefix'         => 't_',

// 数据库调试模式

'debug'          => true,

// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)

'deploy'         => 0,

// 数据库读写是否分离 主从式有效

'rw_separate'    => false,

// 读写分离后 主服务器数量

'master_num'     => 1,

// 指定从服务器序号

'slave_no'       => '',

// 是否严格检查字段是否存在

'fields_strict'  => true,

// 数据集返回类型 array 数组 collection Collection对象

'resultset_type' => 'array',

// 是否自动写入时间戳字段

'auto_timestamp' => false,

// 是否需要进行SQL性能分析

'sql_explain'    => true,

];

# 数据库2

$test02 =  [

'type'           => 'mysql',

'hostname'       => '172.0.0.1',

'database'       => 'test02',

'username'       => 'root',

'password'       => 'root',

'hostport'       => '3306',

'dsn'            => '',

'params'         => [],

'charset'        => 'utf8',

'prefix'         => 't_',

'debug'          => true,

'deploy'         => 0,

'rw_separate'    => false,

'master_num'     => 1,

'slave_no'       => '',

'fields_strict'  => true,

'resultset_type' => 'array',

'auto_timestamp' => false,

'sql_explain'    => false,

];

/*

例如:

1、操作的是定单表(order)时,连接数据库2(test02)

2、操作的是充值表(pay)时,连接数据库2(test02)

......

*/

$databases = [

'order' => 'test02',

'pay'    => 'test02',

];

if(!empty($__tbname)){

if(isset($databases[$__tbname])){

$cnt = $databases[$__tbname];

if($cnt == 'friend'){

if(empty(param('testing'))){

return $default;

}

}

return $$cnt;

}

}

return $default;

浏览器启用弹出窗口过滤功能,将无法跳转到下载页。在浏览器地址栏右边符号提示处点击允许就可以了!

郑重声明:

1、本站源码仅供个人学习研究和交流使用,请于下载后二十四小时内删除

2、本站大多资源来源于互联网、用户分享,仅供学习交流使用,本站不提供任何技术支持

3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。

4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
<p> <strong><span style="font-size:24px;">课程简介:</span></strong><br /> <span style="font-size:18px;">历经半个多月时间,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">亲自撸 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解是一个真正意义上企业级项目实战,主要介绍了企业级应用系统后端应用权限管理,其主要涵盖了六大核心业务模块十几张数据库表。</span><span></span> </p> <p> <span style="font-size:18px;">其核心业务模块主要包括用户模块部门模块岗位模块角色模块菜单模块和系统日志模块;与此同时,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">还亲自撸了额外附属模块,包括字典管理模块商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应技术栈以及企业应用系统业务模块开发流程!</span><span></span> </p> <p> <br /> </p> <p> <span style="font-size:24px;"><strong>核心技术栈列表</strong></span><span style="font-size:24px;"><strong>:</strong></span> </p> <p> <br /> </p> <p> <span style="font-size:18px;">值得介绍是,本课程在技术栈层面涵盖了前端和后端大部分常用技术,包括</span><span style="font-size:18px;">Spring Boot</span><span style="font-size:18px;"></span><span style="font-size:18px;">Spring MVC</span><span style="font-size:18px;"></span><span style="font-size:18px;">Mybatis</span><span style="font-size:18px;"></span><span style="font-size:18px;">Mybatis-Plus</span><span style="font-size:18px;"></span><span style="font-size:18px;">Shiro(</span><span style="font-size:18px;">身份认证与资源授权跟会话等等</span><span style="font-size:18px;">)</span><span style="font-size:18px;"></span><span style="font-size:18px;">Spring AOP</span><span style="font-size:18px;">防止</span><span style="font-size:18px;">XSS</span><span style="font-size:18px;">攻击防止</span><span style="font-size:18px;">SQL</span><span style="font-size:18px;">注入攻击过滤器</span><span style="font-size:18px;">Filter</span><span style="font-size:18px;">验证码</span><span style="font-size:18px;">Kaptcha</span><span style="font-size:18px;">热部署插件</span><span style="font-size:18px;">Devtools</span><span style="font-size:18px;"></span><span style="font-size:18px;">POI</span><span style="font-size:18px;"></span><span style="font-size:18px;">Vue</span><span style="font-size:18px;"></span><span style="font-size:18px;">LayUI</span><span style="font-size:18px;"></span><span style="font-size:18px;">ElementUI</span><span style="font-size:18px;"></span><span style="font-size:18px;">JQuery</span><span style="font-size:18px;"></span><span style="font-size:18px;">HTML</span><span style="font-size:18px;"></span><span style="font-size:18px;">Bootstrap</span><span style="font-size:18px;"></span><span style="font-size:18px;">Freemarker</span><span style="font-size:18px;">一键打包部署运行工具</span><span style="font-size:18px;">Wagon</span><span style="font-size:18px;">等等,如下图所示:</span><span></span> </p> <img src="https://img-bss.csdn.net/201908070402564453.png" alt="" /> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="font-size:24px;">课程内容与收益</span><span style="font-size:24px;">:</span><span></span> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070403452052.png" alt="" /> </p> <p> <span style="font-size:18px;">总来说,</span><span style="font-size:18px;">本课程是一门具有很强实践性质“项目实战”课程,即“</span><span style="font-size:18px;">企业应用员工角色权限管理平台</span><span style="font-size:18px;">”,主要介绍了当前企业级应用系统员工部门岗位角色权限菜单以及其他实体模块管理;其,还重点讲解了如何基于</span><span style="font-size:18px;">Shiro</span><span style="font-size:18px;">资源授权实现员工</span><span style="font-size:18px;">-</span><span style="font-size:18px;">角色</span><span style="font-size:18px;">-</span><span style="font-size:18px;">操作权限员工</span><span style="font-size:18px;">-</span><span style="font-size:18px;">角色</span><span style="font-size:18px;">-</span><span style="font-size:18px;">数据权限管理;在课程最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台数据库设计图:</span> </p> <p> <span></span> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070404285736.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="font-size:18px;"><strong>以下为项目整体运行效果截图:</strong></span> <span></span> </p> <img src="https://img-bss.csdn.net/201908070404538119.png" alt="" /> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405002904.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405078322.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405172638.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405289855.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405404509.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405523495.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p style="text-align:left;"> <span style="font-size:18px;">值得一提是,在本课程,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">也向各位小伙伴介绍了如何在企业级应用系统业务模块开发,前端到后端再到数据库,最后再到服务器上线部署运行等流程,如下图所示:</span><span></span> </p> <img src="https://img-bss.csdn.net/201908070406328884.png" alt="" /> <p> <br /> </p>
<p> <strong><span style="background-color:#FFFFFF;color:#E53333;font-size:24px;">本页面购买不发书!!!仅为视频课购买!!!</span></strong> </p> <p> <strong><span style="color:#E53333;font-size:18px;">请务必到</span></strong><a href="https://edu.csdn.net/bundled/detail/49?utm_source=banner"><strong><span style="color:#E53333;font-size:18px;">https://edu.csdn.net/bundled/detail/49</span></strong></a><strong><span style="color:#E53333;font-size:18px;">下单购买课+书。</span></strong> </p> <p> <span style="font-size:14px;">本页面,仅为观看视频页面,如需一并购买图书,请</span><span style="font-size:14px;">务必到</span><a href="https://edu.csdn.net/bundled/detail/49?utm_source=banner"><span style="font-size:14px;">https://edu.csdn.net/bundled/detail/49</span></a><span style="font-size:14px;">下单购买课程+图书!!!</span> </p> <p> <br /> </p> <p> <span style="font-size:14px;">疯狂Python精讲课程覆盖《疯狂Python讲义》全书主体内容。</span> </p> <span style="font-size:14px;">内容包括Python基本数据类型Python列表元组和字典流程控制函数式编程面向对象编程文件读写异常控制数据库编程并发编程与网络编程数据可视化分析Python爬虫等。</span><br /> <span style="font-size:14px;"> 全套课程从Python基础开始介绍,逐步步入当前就业热点。将会带着大家从Python基础语法开始学习,为每个知识点都提供对应代码实操代码练习,逐步过渡到文件IO数据库编程并发编程网络编程数据分 析和网络爬虫等内容,本课程会从小案例起,至爬虫数据分析案例终Python知识体系作为内在逻辑,以Python案例作为学习方式,最终达到“知行合一”。</span><br />
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页