代码svn地址 (用户名:liu,密码;123)

这一篇中,我们将修改数据库操作方式,使用sqlsugar这一款ORM框架来进行数据库操作。

1,程序NuGet引入两个类库sqlsugar和Newtonsoft.Json,

在这里插入图片描述
在这里插入图片描述

2,Controllers文件夹下新建Helper.cs类

在这里插入图片描述

Helper.cs全部内容如下:

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace API.Helper
{
    public class dbContext
    {
        private static SqlSugarClient _db = null;
        /// <summary>
        /// test是数据库名
        /// </summary>                                          
        public static string ConnectionString = "server=localhost;uid=xxx;pwd=xxx;database=vue_test";
        public static SqlSugarClient CretClient()
        {
            _db = new SqlSugarClient(new ConnectionConfig()
            {
                ConnectionString = ConnectionString, //数据库连接字符串
                DbType = DbType.MySql, //必填
                IsAutoCloseConnection = false, //默认false
                InitKeyType = InitKeyType.Attribute
            });
            return _db;
        }
    }
}

其中,DbType = DbType.MySql表示我们要连接的数据库为mysql,当然你也可以选择其他的数据库。或者切换多个不同的数据库(具体查看官方文档,既上面的sqlsugar),本篇中只使用一个数据库。server=localhost;uid=xxx;pwd=xxx;database=xxx为连接字符串,这是Mysql的连接字符串样式,不同的数据库是不同的,把里面的xxx换为你自己的数据库用户名,密码,使用的数据库名。

3,使用打开我们之前写的DataController.cs文件

在这里插入图片描述

将里面的GetAsync方法修改如下:

/// <summary>
        /// 获取数据(分页)
        /// </summary>
        ///<param name="page">当前页数</param>
        ///<param name="intPageSize">每页显示数据条数</param>
        ///<param name="key">查询条件</param>
        public async Task<MessageModel<object>> GetAsync(int page = 1,int intPageSize=10,string key="")
        {
            //sql语句方式
            //string where = "1=1";
            //if (!string.IsNullOrEmpty(key))
            //{
            //    where = where + " " + "and" + " " + "Name like '%" + key + "%'";
            //}
            //string sql = "select * from Data WHERE " + where + " order by CreateTime desc,UpdateTime desc";
            //var result = ToList.ToDataList<Data>(dt);
            //var dt = DbContext.Ado.GetDataTable(sql);
            Expressionable<Data> exp = Expressionable.Create<Data>();
            if (!string.IsNullOrEmpty(key))
            {
                exp.And(it => it.Name.Contains(key));
            }
            var result = DbContext.Queryable<Data>()
                .Where(exp.ToExpression())
                .ToPageList(page, intPageSize);
            return await Task.FromResult(new MessageModel<object>()
            {
                status = 200,
                success = true,
                msg = "获取成功",
                response = result
            });

        }

使用Helper.cs里新建的DbContext类来连接数据库

public static SqlSugarClient DbContext = dbContext.CretClient();

在这里插入图片描述

添加引用。此时,当前文件完整引用为:

using Newtonsoft.Json;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using MySql.Data.MySqlClient;
using System.Collections;
using System.Text;
using System.Threading.Tasks;
using API.Models;
using System.Collections.Generic;
using System.Web;
using SqlSugar;
using System.Diagnostics;
using System.Reflection;
using API.Helper;

打开我们的后台API接口文档试一下,发现正常获取到了数据,成功喽。

在这里插入图片描述

我们下一篇再见,拜拜!

Logo

前往低代码交流专区

更多推荐