webapi mysql_(二)2、webapi连接MySQL

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

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

9d68e9954807e523ab45ca01a7fb1b2c.png

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

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

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

a6541168e6ec4e9e7a2a1fb5320ad66f.png

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

2aa372df369600dbaaf5f22996aa4d97.png

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

fcecaa27ea5212ceb9bf034c36bfbf34.gif

public void ConfigureServices(IServiceCollection services)

{

//数据库配置

services.AddDbContext(options =>

options.UseMySQL(Configuration.GetConnectionString("DefaultConnection")));

services.AddMvc();

}

fcecaa27ea5212ceb9bf034c36bfbf34.gif

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

9d002a31702b26b2654a21a15fdaf648.png

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

c002c0c6d4ef15f16bb1940ee2d8c2dc.png

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

accf206f005754fc2d7f0a8b99ef0a38.png

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

a0ae2d31ad4a84f538d226ee3161a37b.png

fcecaa27ea5212ceb9bf034c36bfbf34.gif

{

"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"

}

}

}

}

fcecaa27ea5212ceb9bf034c36bfbf34.gif

至于其中的"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.”,因为我一直是加上的,所以也就没遇到过错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值