日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡化CI數(shù)據(jù)庫操作,提高開發(fā)效率(ci數(shù)據(jù)庫操作)

現(xiàn)代軟件開發(fā)的復(fù)雜性和規(guī)模越來越高,如何提高開發(fā)效率和縮短開發(fā)周期成為了每個開發(fā)人員和團隊的共同問題。在這個過程中,數(shù)據(jù)庫操作往往是一個很耗費時間和精力的環(huán)節(jié),尤其是對于大型應(yīng)用和數(shù)據(jù)量龐大的數(shù)據(jù)庫。本篇文章將介紹如何通過簡化CodeIgniter(CI)框架的數(shù)據(jù)庫操作,提高開發(fā)效率和代碼質(zhì)量。

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比桑植網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式桑植網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋桑植地區(qū)。費用合理售后完善,10年實體公司更值得信賴。

1. ci數(shù)據(jù)庫操作簡介

CodeIgniter是一個輕量級的PHP框架,自帶了強大的數(shù)據(jù)庫類庫,可以方便地進行數(shù)據(jù)讀取、寫入、更新和刪除等操作。CI使用了Active Record的設(shè)計模式,將數(shù)據(jù)操作映射到類的方法中,使得代碼更加直觀和易于維護。但是,CI的數(shù)據(jù)庫操作也存在一些問題,例如:

– Active Record的方法名和參數(shù)存在一定的限制和局限性,可能無法滿足特定的SQL需求;

– 數(shù)據(jù)表和字段的寫法必須遵循一定的規(guī)范和格式,可能會造成代碼的冗余和復(fù)雜性;

– 操作數(shù)據(jù)表的方法存在嵌套和連貫的問題,可能會增加代碼的深度和復(fù)雜度;

– 對于復(fù)雜的數(shù)據(jù)庫操作,需要手動拼接SQL語句,容易出現(xiàn)錯誤和安全問題。

這些問題都會影響開發(fā)效率和代碼質(zhì)量,為此,我們需要進行一些改進和優(yōu)化。

2. 簡化CI數(shù)據(jù)庫操作的方法

為了簡化CI數(shù)據(jù)庫操作,我們可以采用一些有用的方法和技巧,例如:

2.1 引入Query Builder

CodeIgniter 3.0以上版本中,引入了Query Builder類,它是一種更加靈活和易用的數(shù)據(jù)庫操作方式,可以方便地構(gòu)造SQL語句并執(zhí)行查詢。使用Query Builder的好處有:

– 不限制方法和參數(shù),可以使用任意的SQL語句和查詢條件;

– 可以使用各種流暢接口(Fluent Interfaces)和函數(shù)式編程(Functional Programming)的方法,使得代碼更加簡潔和易讀;

– 支持事務(wù)和錯誤處理,可以有效地保證數(shù)據(jù)操作的安全和正確性。

因此,我們建議在CI項目中盡可能使用Query Builder而不是Active Record來進行數(shù)據(jù)庫操作。以下是一些使用Query Builder的例子:

// 初始化Query Builder對象

$this->db->select(‘name, eml’);

$this->db->from(‘users’);

$this->db->where([‘id’=>$id, ‘status’=>1]);

$this->db->limit(10);

$result = $this->db->get()->result_array();

// 使用Query Builder插入數(shù)據(jù)

$data = [

‘name’ => ‘Peter’,

’eml’ => ‘peter@example.com’,

‘created_at’ => date(‘Y-m-d H:i:s’)

];

$this->db->insert(‘users’, $data);

// 使用Query Builder更新數(shù)據(jù)

$data = [

‘name’ => ‘John’,

’eml’ => ‘john@example.com’,

‘updated_at’ => date(‘Y-m-d H:i:s’)

];

$this->db->where(‘id’, $id);

$this->db->update(‘users’, $data);

2.2 使用ORM框架

ORM(Object-Relational Mapping)框架是一種將對象和關(guān)系型數(shù)據(jù)表進行映射的方法,可以將數(shù)據(jù)庫操作轉(zhuǎn)換為面向?qū)ο蟮牟僮?,使得代碼更加清晰和易于維護。在CI項目中,我們可以使用一些流行的ORM框架來簡化數(shù)據(jù)庫操作,例如:

– Doctrine:一個全面性的ORM框架,支持多種數(shù)據(jù)庫和高級查詢語言;

– Eloquent:Laravel框架自帶的ORM框架,擁有流暢的查詢接口和方便的數(shù)據(jù)操作方法;

– CodeIgniter-Doctrine:CI框架的Doctrine封裝,提供了類似Active Record的數(shù)據(jù)操作方式。

使用ORM框架的好處有:

– 代碼風(fēng)格更加清晰和易于維護,可以避免手寫SQL語句和復(fù)雜的數(shù)據(jù)操作方法;

– 可以提高代碼的復(fù)用性和靈活性,支持多種查詢方式和擴展方法;

– 支持對象的自動映射和關(guān)聯(lián),可以方便地處理復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和關(guān)系。

以下是使用Eloquent框架的例子:

// 定義模型類

class User extends \Illuminate\Database\Eloquent\Model {

protected $table = ‘users’;

protected $fillable = [‘name’, ’eml’, ‘password’];

public function profile() {

return $this->hasOne(Profile::class);

}

}

class Profile extends \Illuminate\Database\Eloquent\Model {

protected $table = ‘user_profiles’;

protected $fillable = [‘a(chǎn)ge’, ‘gender’, ‘phone’];

public function user() {

return $this->belongsTo(User::class);

}

}

// 查詢用戶信息及其關(guān)聯(lián)數(shù)據(jù)

$user = User::with(‘profile’)->find(1);

echo $user->name . ‘ age is ‘ . $user->profile->age;

// 新建用戶并關(guān)聯(lián)數(shù)據(jù)

$user = User::create([

‘name’ => ‘John’,

’eml’ => ‘john@example.com’,

‘password’ => ‘123456’

]);

$user->profile()->create([

‘a(chǎn)ge’ => 25,

‘gender’ => ‘male’,

‘phone’ => ‘1234567890’

]);

2.3 封裝常用操作

在開發(fā)過程中,我們通常需要進行一些常見的數(shù)據(jù)庫操作,如查詢分頁、批量更新、批量插入等。為了提高開發(fā)效率和代碼質(zhì)量,我們可以將這些操作封裝成類庫或擴展,以便更方便地復(fù)用和調(diào)用。以下是一些常用的CI數(shù)據(jù)庫操作封裝方法:

– Pagination:封裝了CI的分頁查詢功能,支持自定義分頁大小和樣式;

– Bulk Update:封裝了CI的批量更新功能,支持快速更新大量數(shù)據(jù);

– Batch Insert:封裝了CI的批量插入功能,支持快速插入大量數(shù)據(jù);

– Query Debug:封裝了CI的調(diào)試功能,支持打印執(zhí)行的SQL語句和耗時信息。

這些封裝方法可以在不增加太多代碼和復(fù)雜度的情況下,提高代碼的復(fù)用性和開發(fā)效率。例如,使用Pagination類庫可以在簡單的幾行代碼中實現(xiàn)分頁功能:

// 引入Pagination類庫

$this->load->library(‘pagination’);

// 設(shè)置分頁參數(shù)

$config[‘base_url’] = base_url(‘/users’);

$config[‘total_rows’] = $this->db->count_all(‘users’);

$config[‘per_page’] = 10;

// 初始化分頁類

$this->pagination->initialize($config);

// 查詢數(shù)據(jù)并顯示分頁

$data[‘users’] = $this->db->get(‘users’, $config[‘per_page’], $this->uri->segment(3));

$this->load->view(‘users’, $data);

echo $this->pagination->create_links();

3.

通過上述方法和技巧,我們可以有效地和代碼質(zhì)量。需要注意的是,CI數(shù)據(jù)庫操作雖然簡單易用,但仍然需要謹慎處理,避免出現(xiàn)數(shù)據(jù)安全和性能問題。因此,在開發(fā)過程中,需要對數(shù)據(jù)表和字段進行規(guī)范和合理設(shè)計,對數(shù)據(jù)操作和查詢進行優(yōu)化和測試,以確保代碼的正確和可靠。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220

CI的session生成后放在哪

CI的session生成后,默認放在數(shù)據(jù)庫,cookie放在客戶端

  CI的session 信息默認是放在cookie里吧,只有在config.php啟用數(shù)據(jù)庫才把session_data 和user_data 放在數(shù)據(jù)庫。

  Session 類可以使用戶在瀏覽您的網(wǎng)站時,維持他們的狀態(tài)并跟蹤他們的行為。 Session 類將每個用戶的 session 信息序列化(serialize)后存儲到到 cookie 中(并同時進行加密)。 您還可以將 session 數(shù)據(jù)存儲到數(shù)據(jù)庫中來增強安全性,但是這時要求存儲在用戶 cookie 中的 session ID 值能與數(shù)據(jù)庫中存儲的用戶 session ID 值相匹配。程序默認只在 cookie 中存儲 session。如果您要在數(shù)據(jù)庫中存儲 session 的話,需要按照下面指示的方法,在您的數(shù)據(jù)庫中創(chuàng)建需要的數(shù)據(jù)表。

CI的session 信息默認是放在cookie里吧,只有在config.php啟用數(shù)據(jù)庫才把session_data 和user_data 放在數(shù)據(jù)庫。

你用 IE 的 Internet 設(shè)置里的查看文件夾來查看。

sql server 2023怎么建數(shù)據(jù)庫

、啟用FileTable

  1、修改數(shù)據(jù)庫引擎屬性

  打SQL Server配置管理器修改SQL Server數(shù)據(jù)庫引擎屬性使用頁針 Microsoft SQL Server 2023安裝啟用 FILESTREAM

 ?。?)針 Transact-SQL 訪問啟用 FILESTREAM

  選項針 Transact-SQL 訪問啟用 FILESTREAM 必須選控制選項才能使用其控制選項啟用選項能添加FileStream文件組

  (2)針文件 I/O 流訪問啟用 FILESTREAM

  選項針 FILESTREAM 啟用 Win32 流訪問

 ?。?)Windows 共享名

  使用控制選項輸入用存儲 FILESTREAM 數(shù)據(jù) Windows 共享名稱默認該SQL Server實例名稱

  (4)允許遠程客戶端針 FILESTREAM 數(shù)據(jù)啟用流訪問

  選控制選項允許遠程客戶端訪問服務(wù)器 FILESTREAM 數(shù)據(jù)

  

  2、修改服務(wù)器屬性

  打SQL Server Management Studio修改該實例配置默認配置:

  述選項解釋:

  (1)FILESTREAM 訪問級別顯示 SQL Server 實例支持 FILESTREAM 前級別若要更改訪問級別請選擇值:

  已禁用

  二進制型象 (BLOB) 數(shù)據(jù)存儲文件系統(tǒng)默認值即filestream access level=0

  已啟用 Transact-SQL 訪問

  使用 Transact-SQL 訪問 FILESTREAM 數(shù)據(jù)能通文件系統(tǒng)進行訪問即filestream access level=1

  已啟用完全訪問

  FILESTREAM 數(shù)據(jù)使用 Transact-SQL 及通文件系統(tǒng)進行訪問即filestream access level=0

  注意:首啟用 FILESTREAM 您能需要重新啟計算機才能配置驅(qū)程序

 ?。?)FILESTREAM 共享名稱顯示安裝程選擇 FILESTREAM 共享讀名稱

  

  本實驗我FILESTREAM 訪問級別 設(shè)定:已啟用完全訪問

  通T-SQL腳本執(zhí)行則運行腳本:

  EXEC sys.sp_configure N’filestream access level’, N’2′

  RECONFIGURE WITH OVERRIDE

  

  注意:設(shè)置完重啟實例

  

  3、配置防火墻

  若要防火墻保護環(huán)境使用 FILESTREAM客戶端服務(wù)器都必須能夠 DNS 名稱解析包含 FILESTREAM 文件服務(wù)器FILESTREAM 要求 Windows 文件共享端口處于打狀態(tài)

  

  二、配置文件組

  1、添加文件組

  完述操作該數(shù)據(jù)庫添加專用于FileStream文件組

  通腳本操作請運行腳本:

  ALTER DATABASE ADD FILEGROUP CONTAINS FILESTREAM

  

  2、添加文件

  完述操作該數(shù)據(jù)庫添加FilStream類型數(shù)據(jù)庫文件

  本例系統(tǒng)并沒FileStream數(shù)據(jù)文件類型創(chuàng)建mdf或ndf文件文件夾C:\SqlData面自創(chuàng)建邏輯名稱命名文件夾即 C:\SqlData\FileData其filestream.hdr 文件 FILESTREAM 容器文件數(shù)據(jù)庫刪除mdf、ndf、log連同文件夾都刪除

  通腳本操作請運行腳本:

  ALTER DATABASE ADD FILE ( NAME = N’FileData’, FILENAME = N’C:\SqlData\FileData’ ) TO FILEGROUP

  注意:例運行腳本前必須存C:\SqlData建議使用右側(cè)選擇按鈕選擇路徑路徑存報錯:

  同能存重復(fù)文件夾即能存C:\SqlData\FileData否則報錯:

  

  3、啟非事務(wù)訪問

  FileTable 使 Windows 應(yīng)用程序獲取 FILESTREAM 數(shù)據(jù) Windows 文件句柄需要 SQL Server 事務(wù)允許 SQL Server 存儲文件進行非事務(wù)性訪問必須要包含 FileTable 每數(shù)據(jù)庫數(shù)據(jù)庫級別指定所需非事務(wù)性訪問級別

  選項解釋:

 ?。?)FILESTREAM 非事務(wù)訪問

  文件系統(tǒng) FileTables 存儲 FILESTREAM 數(shù)據(jù)非事務(wù)性訪問指定選項:OFF、READ_ON 或 FULL

  服務(wù)器未啟用 FILESTREAM則該值設(shè)置 OFF 并且禁用本實驗其設(shè)置FULL

 ?。?)FILESTREAM 目錄名稱

  與所選數(shù)據(jù)庫相關(guān)聯(lián) FILESTREAM 數(shù)據(jù)指定目錄名稱 FileTable 文件夾層結(jié)構(gòu)數(shù)據(jù)庫級目錄實例級別 FILESTREAM 指定共享名稱級及數(shù)據(jù)庫創(chuàng)建 FileTable 父級

  啟用非事務(wù)性訪問沒提供目錄名稱則必須提供才能數(shù)據(jù)庫創(chuàng)建 FileTable

  通腳本執(zhí)行:

  ALTER DATABASE db01

  SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N’ImageFiles’ )

  注意:更改現(xiàn)數(shù)據(jù)庫調(diào)用帶 DIRECTORY_NAME FILESTREAM 選項 ALTER DATABASE (Transact-SQL) 語句使用些選項更改目錄名稱數(shù)據(jù)庫必須獨占式鎖定沒打文件句柄

  說明:檢查否數(shù)據(jù)庫啟用非事務(wù)性訪問查詢目錄視圖腳本:

  SELECT DB_NAME(database_id), non_transacted_access, non_transacted_access_desc

  FROM sys.database_filestream_options

  

  三、創(chuàng)建FileTable

  1、創(chuàng)建第FileTable

  SQL Server Management Studio提供腳本模板要想創(chuàng)建FileTable用腳本完:

  USE db01

  CREATE TABLE ImageTable1 AS FILETABLE

  官范本:

  USE

  CREATE TABLE . AS FILETABLE ON FILESTREAM_ON

  WITH

  (FILETABLE_DIRECTORY = N’ImageTable1′, FILETABLE_COLLATE_FILENAME = Chinese_PRC_CI_AS)

  

  2、創(chuàng)建第二FileTable

  CREATE TABLE ImageTable2 AS FILETABLE

  

  3、獲取共享路徑

  文件表創(chuàng)建相應(yīng)產(chǎn)文件表共享目錄該目錄路徑通內(nèi)建函數(shù)獲?。?/p>

  SELECT FileTableRootPath(‘ImageTable1’)

  本實驗所返結(jié):\\SQL1\SqlFile\ImageFiles\ImageTable1

  

  4、查看

  通Windows資源管理器見已經(jīng)創(chuàng)建GUID命名文件夾

  

  通SQL Server Management Studio查看表結(jié)構(gòu)

  

  四、操作

  1、向文件夾添加文件

  通 Windows資源管理器向文件夾\\SQL1\SqlFile\ImageFiles\ImageTable1添加文件A01.GIF運行腳本:

  select * from ImageTable1

  結(jié):

  

  見 SQL Server自Table添加記錄

  

  2、文件改名

  運行腳本:

  update ImageTable1 set name=’Cup.GIF’ where name=’A01.GIF’

  通Windows資源管理器查看文件夾\\SQL1\SqlFile\ImageFiles\ImageTable1見文件A01.GIF已經(jīng)改名Cup.GIF

  

  3、查看共享文件夾

  我繼續(xù)復(fù)制其文件通Windows資源管理器查看文件夾

  

  4、刪除文件

  使用腳本刪除例:

  Delete ImageTable1 where name=’Cup.GIF’

  或者通Windows資源管理器直接刪除該文件

  

  五、備份原

  

  1、備份數(shù)據(jù)庫

  使用 SQL Server 備份數(shù)據(jù)庫FILESTREAM 數(shù)據(jù)與數(shù)據(jù)庫結(jié)構(gòu)化數(shù)據(jù)起備份

  

  2、部備份

ci數(shù)據(jù)庫操作的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于ci數(shù)據(jù)庫操作,簡化CI數(shù)據(jù)庫操作,提高開發(fā)效率,CI的session生成后放在哪,sql server 2023怎么建數(shù)據(jù)庫的信息別忘了在本站進行查找喔。

創(chuàng)新互聯(lián)【028-86922220】值得信賴的成都網(wǎng)站建設(shè)公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設(shè),成都品牌建站設(shè)計,成都高端網(wǎng)站制作開發(fā),SEO優(yōu)化排名推廣服務(wù),全網(wǎng)營銷讓企業(yè)網(wǎng)站產(chǎn)生價值。


文章題目:簡化CI數(shù)據(jù)庫操作,提高開發(fā)效率(ci數(shù)據(jù)庫操作)
鏈接地址:http://www.dlmjj.cn/article/dpgepji.html