ThinkPHP Model+数据库的切换使用

一、Model+数据库的切换使用

//也许用到了命名空间,举个例子
namespace Model\User;
use \Think\Model;

class User extends Model{
    //继承tp的基类
}

方法一:使用ThinkPHP的初始化方法_initialize();
public function _initialize()
{
    //设置数据库配置:运营后台库
    $this->connection = C(‘MYDB‘);

}

方法二:使用PHP的初始化方法__construct();

public function __construct()

{

$this->connection = C(‘MYDB‘);

parent::__construct();

//设置数据库配置:运营后台库

$this->connection = C(‘MYDB‘);

}

public function getData(){

$sql = ‘select ID from user limit 0,2‘;

$this->query($sql);

}

:_initialize,__construct;区别是_initialize是ThinkPHP定义的构造函数,__construct是PHP的构造函数;_initialize是自动继承父类的初始化的;

在配置文件设置好要用到数据库配置文件,做好命名,如:MYDB
‘MYDB‘=>array(
    ‘db_type‘ => ‘mysql‘,
    ‘db_user‘ => ‘user‘,
    ‘db_pwd‘  => ‘password‘,
    ‘db_host‘ => ‘localhost‘,
    ‘db_port‘ => ‘3306‘,
    ‘db_name‘ => ‘dbname‘,
    ‘db_charset‘ => ‘utf8‘
),
需要切换数据库时,设置要用的数据库链接:
$this->connection = C(‘MYDB‘);

原文地址:https://www.cnblogs.com/richardcastle/p/8297228.html

时间: 2024-11-09 08:40:48

ThinkPHP Model+数据库的切换使用的相关文章

thinkphp对数据库操作有哪些内置函数

原文:thinkphp对数据库操作有哪些内置函数 getModelName() 获取当前Model的名称 getTableName() 获取当前Model的数据表名称 switchModel(type,vars=array()) 动态切换模型 table() 设置当前操作的数据表 field() 设置要查询的数据字段 where() 设置查询或者操作条件 data(data) 设置数据对象 order(order) 设置排序 limit(limit) 查询限制 page(page) 查询分页 j

Spring+Mybatis项目中通过继承AbstractRoutingDataSource实现数据库热切换

在做ERP项目的时候有个需求是能够管理和切换账套,一个账套就是一个数据库,那么就需要实现数据库的热切换.网上找了很多资料再结合项目的具体需求实现了一个还算比较好用的数据库热切换. 原理是首先继承AbstractRoutingDataSource并实现determineCurrentLookupKey方法,方法的内容为 protected Object determineCurrentLookupKey() {     return DataSourceContextHolder.getDataS

Winform开发框架中实现多种数据库类型切换以及分拆数据库的支持 - 伍华聪

在很多应用系统里面,虽然一般采用一种数据库运行,但是由于各种情况的需要,可能业务系统会部署在不同类型的数据库上,如果开发的系统能够很方便支持多种数据库的切换,那可以为我们减少很多烦恼,同时提高系统的适应性和强壮型.还有一种情况,由于业务数据库的不断膨胀或者方便数据库的切割隔离,有时候也会把不同的业务数据库进行分拆,如权限提供数据库,客户关系管理数据库,工作流程数据库,企业营运数据库等等,因此在一个系统里面,同时使用2个或者以上的数据库的情况也是有的.针对这两种情况,本文介绍在我的Winform开

京东MySQL数据库主从切换自动化

1. 产生背景 随着京东业务的高速增长,数据的重要性对于京东来说重要程度不说自明,在信息时代,数据有着比人们更大的力量,数据库的价值可见一斑,数据库的存在为人们提供了更快的查询,那么为了更好地做到数据库的高可用,保证持续提供服务,简化DBA操作,节省数据库故障切换的时间,故开发此数据库主从切换自动化系统. 2. 实现原理 此系统基于MHA做数据库切换,结合京东数据库切换的特点,定制自己的切换系统.MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的

thinkphp 对数据库的操作

查看ThinkPHP完全开发手册3.1 首先编辑配置文件 thinkphp这个数据库就不乱改了 昨天新建了一个 confluence(utf8)数据库 所以就用它学习一下吧,因为就只建立了一个数据库,还没有表,可能和手册里的情况不太一样,到时候再百度一下吧 <?php return array( //'配置项'=>'配置值' //'USERNAME'=>'admin', //赋值 //数据库配置信息 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST'

spring自动识别数据库并切换数据源

一.开篇 这里整合分别采用了Hibernate和MyBatis两大持久层框架,Hibernate主要完成增删改功能和一些单一的对象查询功能,MyBatis主要负责查询功能.所以在出来数据库方言的时候基本上没有什么问题,但唯一可能出现问题的就是在hibernate做添加操作生成主键策略的时候.因为我们都知道hibernate的数据库本地方言会针对不同的数据库采用不同的主键生成策略. 所以针对这一问题不得不采用自定义的主键生成策略,自己写一个主键生成器的表来维护主键生成方式或以及使用其他的方式来生成

京东DBA 王伟 | MySQL数据库主从切换自动化

http://mp.weixin.qq.com/s?__biz=MjM5ODI5Njc2MA==&mid=2655808515&idx=1&sn=069d05a3bad6f67f400475ca6ad714c2&chksm=bd7421d48a03a8c274570da116945bfd6a2eb90615d8b7fba9d78e57890604bd1c415591f81d&mpshare=1&scene=23&srcid=01101Pn9HfMWE

thinkphp从数据库里的html代码显示页面不解析

首先,这个问题不应该出现在这里,因为以前在用ThinkPHP3.1.2的时候,利用富文本编辑器保存文本后,直接从数据库里面取出的数据都能正常显示,改用ThinkPHP3.2.3之后,thinkphp从数据库里的html代码显示页面不解析,直接显示源代码了,这个问题其实很简单,只是当时很着急,没有想到. 一般出现问题之后,要从源头开始思考,找原因,不是立即百度或Google.今早起来的时候想了一下,所有的数据文件都是从我的数据库里面显示出来的,问题应该就出现在数据的获取和数据的展示途中.果然,打开

最详细、最简单Thinkphp链接数据库-途牛博客

学习到 thinkphp 建立一个小实例,就从网上找了一篇文章,本身 thinkphp 是有官网实例的,但老是出错,下面这篇文章还不错,算是最基础的了,从配置文件到连接数据库,然后再到制作模板,读取模板,还有新建 mysql 数据库,都比较详细,thinkphp 底层核心文件不变,如果刚学习可以参照着学习一下. 测试所在系统:WIN7.XP 测试工具:zend studio9 运行平台:WAMP 数据库:mysql TP测试版本:3.0(强调:3.0之前版本在配置上有很大不同) 1. 配置入口文