src/02_Data/Adapters/Data.Adapter.MySql/MySqlDbAdapter.cs
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Data;
using System.Text;
using Mkh.Data.Abstractions.Adapter;
using Mkh.Data.Abstractions.Descriptors;
using Mkh.Utils.Helpers;
using MySqlConnector;
namespace Mkh.Data.Adapter.MySql;
public class MySqlDbAdapter : DbAdapterAbstract
{
public override DbProvider Provider => DbProvider.MySql;
/// <summary>
/// 左引号
/// </summary>
public override char LeftQuote => '`';
/// <summary>
/// 右引号
/// </summary>
public override char RightQuote => '`';
/// <summary>
/// 获取最后新增ID语句
/// </summary>
public override string IdentitySql => "SELECT LAST_INSERT_ID() ID;";
public override IDbConnection NewConnection(string connectionString)
{
return new MySqlConnection(connectionString);
}
public override string GenerateFirstSql(string @select, string table, string @where, string sort, string groupBy = null,
string having = null)
{
return GeneratePagingSql(select, table, where, sort, 0, 1, groupBy, having);
}
public override string GeneratePagingSql(string select, string table, string where, string sort, int skip, int take, string groupBy = null, string having = null)
{
var sqlBuilder = new StringBuilder();
sqlBuilder.AppendFormat("SELECT {0} FROM {1}", select, table);
if (where.NotNull())
sqlBuilder.AppendFormat(" {0}", where);
if (groupBy.NotNull())
sqlBuilder.Append(groupBy);
if (having.NotNull())
sqlBuilder.Append(having);
if (sort.NotNull())
sqlBuilder.AppendFormat("{0}", sort);
if (skip == 0)
sqlBuilder.AppendFormat(" LIMIT {0}", take);
else
sqlBuilder.AppendFormat(" LIMIT {0},{1}", skip, take);
后面还有 182 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
