首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

Hxj.Data v1.7 支援 MySQL:連線字串、實體產生與批次新增實測

     編輯:關於ASP.NET

MySQL 5.1 測試通過,三步驟快速上手

1. 連線字串設定(providerName 關鍵)

<add name="MySQLConnectionString"
     connectionString="server=192.168.1.175;user id=root;password=huxj;Port=3306;database=test;"
     providerName="Hxj.Data.MySql" />

providerName="Hxj.Data.MySql" 讓組件自動識別 MySQL 方言(反引號識別碼、LAST_INSERT_ID() 等)。

2. 建立 DbSession 靜態入口

public static DbSession MySqlTest = new DbSession("MySQLConnectionString");

3. 實體產生工具產生對應類別

資料表 mtable:mid int AUTO_INCREMENT, mname varchar(50)。工具自動產生 Mtable 實體類別。

單筆新增測試

Mtable m = new Mtable();
m.Mname = Hxj.Common.StringHelper.GetRandomString();
int returnValue = Db.MySqlTest.Insert(m);

產生 SQL:

Text: INSERT INTO `mtable` (`mname`) VALUES (?p0); select last_insert_id();
Parameters: @p0 [String] = wzfJPJIDvKPP15HKRyxO4w==

自動使用反引號包裹識別碼,參數化查詢,並透過 select last_insert_id() 取回自增值。

批次新增測試(DbBatch)

using (DbBatch batch = Db.MySqlTest.BeginBatchConnection(5)) {
    for (int i = 0; i < 10; i++) {
        Mtable m = new Mtable();
        m.Mname = Hxj.Common.StringHelper.GetRandomString();
        batch.Insert(m);
    }
} // 區塊結束自動 Commit

BeginBatchConnection(5) 表示累積 5 條 SQL 才發送一次,減少網路往返。MySQL 批次執行同樣支援參數化與自增值回填。

支援矩陣更新

資料庫providerName 值
SQL Server 2000System.Data.SqlClient / Hxj.Data.SqlServer
SQL Server 2005+Hxj.Data.SqlServer9
MS AccessHxj.Data.MsAccess
SQLiteSystem.Data.SQLite / Hxj.Data.Sqlite
OracleSystem.Data.OracleClient / Hxj.Data.Oracle
MySQLHxj.Data.MySql (v1.7 新增)

Hxj.Data 持續擴展資料庫支援,核心 API 保持不變,切換資料庫只需改連線字串與 providerName。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved