• (二)2、webapi连接MySQL


    既然作为中间件,就需要,前,与前端进行数据交互;后,与数据库进行数据交互,在上一步,我们已经把数据发送出来了,只要在前端调用数据就好,下面我们就介绍如何连接数据库。在(一)部分中,我也已经搭建好了服务器和MySQL了,这里说明一下,不管是本机虚拟机搭建的还是云服务器搭建,都是可以的,一样的。

      动手前让我们思考一下,我们要连接MySQL,但是我们凭什么说连就连,人家MySQL不要面子的吗?

    所以在MySQL里面,我们就要创建一个用户(我们安装与配置MySQL中已经创建一个myUser的用户了),然后给这个用户授予操纵数据库的权限,再在webapi里面创建该用户的连接字符串就好了,至于连接字符串是什么,后面会说到的。

      同时又因为在.net core 并没有内置操纵MySQL的工具,所以首先我们就要安装一个工具,来操纵数据库,这个就是EF core(Entity Framework Core),专业术语叫ORM工具(Object Relational Mapping),类似的还有dapper(这个是我第一个使用的ORM工具)。那就先来安装吧

      

       1)工具-Nuget包管理器-管理解决方案的Nuget程序包

        

      2) 浏览-输入MySQL-找到MySQL.Data.EntityFramworkCore,安装

        

      3) 打开目录中的Startup.cs-->ConfigureServices方法,进行数据库配置

    复制代码
     public void ConfigureServices(IServiceCollection services)
            {
                //数据库配置
                services.AddDbContext<Join>(options =>
                    options.UseMySQL(Configuration.GetConnectionString("DefaultConnection")));
                services.AddMvc();
            }    
    复制代码

       这时可能会提示错误,但是不要怕,其中的Join(即上面的蓝色字)先不用管,点中“UseMySQL”,然后点击左边的黄色小灯泡,点击“using Microsoft.EntityFrameworkCore”,然后我们的一个错误就消失了,

    然后最上面也会增加一行,灰色的表示还没有使用过的,

     

    看着难受的话,可以右键,选择“对Using进行删除和排序”就好

     

    4)然后看到橙黄色字体没有“DefaultConnection”,这就是我们的连接字符串…的变量,一般我会把连接字符串放到与Startup.cs目录下的appsetting.json中

    复制代码
    {
      "ConnectionStrings": {
        "DefaultConnection": "server=192.168.253.129;userid=myUser;pwd=123456;port=3306;database=example;sslmode=none;"
      }, //以上为数据库连接字符串
      "Logging": {
        "IncludeScopes": false,
        "Debug": {
          "LogLevel": {
            "Default": "Warning"
          }
        },
        "Console": {
          "LogLevel": {
            "Default": "Warning"
          }
        }
      }
    }
    复制代码

    至于其中的"server=192.168.253.129;userid=myUser;pwd=123456;port=3306;database=example;sslmode=none;"就是传说中的连接字符串了,但是我们需要在服务器里的MySQL里进行设置了,因为这部分属于MySQL,所以我就不写了,详情请参考安装与配置MySQL

    这里就稍微介绍一下参数

    server:MySQL所在的服务器的IP地址

    userid:被授权的用户名

    pwd:被授权的用户名的密码

    port:MySQL的端口号,默认3306

    database:要用到的数据库

    sslmode:至于为什么有这个参数,网上的解释是“链接字符串要加上 SslMode=None 不然会报错误:SSL not supported in this WinRT release.”,因为我一直是加上的,所以也就没遇到过错误。

    走起,下一步,相关数据模型(models)的创建

  • 相关阅读:
    【Web】Google Chrome 浏览器调试禁用缓存
    js基础(对象)
    js基础
    css
    html
    mybatis(mapper映射文件)
    mybatis(核心配置文件的配置)
    linux三种连接方式
    spring
    mybatis(入门案例)
  • 原文地址:https://www.cnblogs.com/inttochar/p/8413107.html
Copyright © 2020-2023  润新知