mysql和asp.net_asp.net core 使用Mysql和Dapper

序曲:学习编程最好的方式就是敲代码,没有比这个更好的方法,哪怕你看了上百G的视频,都不如你自己敲几行代码更为有效。还有要记得敲完代码然后写一篇随笔来记录一下你所学所想。

大家都知道,.netcore是微软一个具有历史意义的产品,因为终于开始跨平台了,

敲了那么多年的代码,每次都被吐槽不能跨平台,现在终于开启了跨平台的脚步了。

既然跨平台了,那么我们是不是可以使用mysql了,毕竟mysql的使用率是非常的高,

各种解决方案和优化方案都非常的多。如果你不知道什么是mysql,那么你自己去百度一下。

好了,废话太多了,我们开始来讲一讲如何在core上使用mysql。

第一步,当然是引用对应的包了

本次主要是引用两个包,分别是

MySql.Data

Dapper

a03663e1e353d3d20fb35c6383d012c6.png

引用成功之后,就开始敲代码

本讲解使用的是core控制台

当然首先你得安装mysql到你的电脑上,或者安装到centOs上面

windows安装mysql,你可以看看这位的方案:https://www.cnblogs.com/xsmile/p/7753984.html

centOS7安装mysql,你可以看看这个:https://www.cnblogs.com/Jomini/p/10749657.html

本人的mysql是安装到我的windows上的

配置你的数据库连接,这个信息最好放在配置文件中,这次是为了演示,我就放在代码中

//配置你的数据库连接信息

private static string ConnString = "server=192.168.1.2;userid=root;pwd=123456;port=3306;database=redenvelopes;SslMode=none";

server是你的mysql安装到的机器上的ip地址

userid是mysql登录用户

pwd是登录密码

port是mysql的端口,一般情况下,mysql的默认端口就是3306

database是你的数据库名称

SslMode是SSL模式,这里为none

我们在以前写sql的时候,都习惯给自己写一个helper,但是这里不用了,别人都帮你写好了,你拿去直接调用即可

MySqlHelper包含了丰富的api,各种增删改查,也基本满足你的需求了,这个和以前使用没什么区别

class Program

{

//配置你的数据库连接信息

private static string ConnString = "server=192.168.1.2;userid=root;pwd=123456;port=3306;database=redenvelopes;SslMode=none";

static void Main(string[] args)

{

DataSet dataSet= MySqlHelper.ExecuteDataset(ConnString, "select * from luckmoney ");

}

}

这个虽好,但是不利于封装到实体对象中,

所以我们引入了Dapper

如果学过java的人看到这个,是不是感觉挺眼熟,java中有一个mapper

本人也学过java,所以有这个感觉。

Dapper是一款轻量级ORM工具

为什么选择Dapper

轻量。只有一个文件(SqlMapper.cs)。

速度快。Dapper的速度接近与IDataReader,比DataTable好很多

支持多种数据库,包括sqlite, sqlce, firebird, oracle, MySQL, PostgreSQL and SQL Server

可以映射一对一,一对多,多对多等多种关系。

性能高。通过Emit反射IDataReader的序列队列,来快速的得到和产生对象,性能不错。

当然最重要的是使用起来非常的方便。

在我们上面代码基础上,引入Dapper后,你会发现变得不一样了

这里我们先加一个实体

如下所示:

MySqlConnection被扩展了更多的方法,这些都是Dapper所带来的

using MySql.Data.MySqlClient;

using System;

using System.Data;

using Dapper;

namespace MySQL_Demo

{

class Program

{

//配置你的数据库连接信息

private static string ConnString = "server=192.168.1.2;userid=root;pwd=123456;port=3306;database=redenvelopes;SslMode=none";

static void Main(string[] args)

{

MySqlConnection mySqlConnection = new MySqlConnection(ConnString);

var list = mySqlConnection.Query("select * from luckmoney ", null);

foreach (var item in list)

{

Console.WriteLine(item.id);

}

}

}

public class luckmoney

{

public int id

{

get; set;

}

public decimal money

{

get; set;

}

public string consumer

{

get; set;

}

public string producer

{

get; set;

}

}

}

ba0d4409e1f6922d7fad5d4ca22db453.png

如果你想用参数,也很简单,如下所示:

MySqlConnection mySqlConnection = new MySqlConnection(ConnString);

var list = mySqlConnection.Query("select * from luckmoney where id=@id ",new { id= });

foreach (var item in list)

{

Console.WriteLine(item.id);

}

在这里我就不讲很复杂的东西,只是简单的引导你们怎么使用mysql和Dapper,希望大家多敲一敲代码,里面还有更多东西等你们探索。

总结:现在敲代码越来越方便了,以前还要自己去敲各种helper,现在别人都给你封装好了,你自己去使用就可以,可以说什么很方便了

但是不能因此不去探索这些东西的原理,不去探索,你只是敲代码的机器,探索了,你的代码就代入了你的思想和灵魂,我以前和大家一样

每天就是各种增删改查,各种copy,几年下来,东西没学到多少,年龄大了,更不好找工作。

各位别嫌弃我废话太多,毕竟我们程序员是孤独的。

Visual Studio Code和Docker开发asp.net core和mysql应用

Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对 ...

ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)

操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...

ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法

一.前言 在非静态页面的项目开发中,必定会涉及到对于数据库的访问,最开始呢,我们使用 Ado.Net,通过编写 SQL 帮助类帮我们实现对于数据库的快速访问,后来,ORM(Object Relatio ...

Asp.Net Core 连接Mysql

上一篇文章里最后在VS里测试是没有问题的,但是在Windows命令行模式下会报错. 首先用dotnet restore命令的时候会出现error: 然后用dotnet run会出现警告,但是依旧会成功 ...

docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用

.net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看 ...

在Asp.Net Core中集成ABP Dapper

在实际的项目中,除了集成ABP框架的EntityFrameworkCore以外,在有些特定的场景下不可避免地会使用一些SQL查询语句,一方面是由于现在的EntityFrameworkCore2.X有些 ...

Asp.Net Core链接Mysql数据库

一.新建一个Asp.Net Core WebMVC程序 添加nuget包  Mysql.Data 二.新建一个UserContext类 下面代码中的UserInfo是我自己建的一个实体,里面有俩字段: ...

asp.net core容器&mysql容器network互联 & docker compose方式编排启动多个容器

文章简介 asp.net core webapi容器与Mysql容器互联(network方式) docker compose方式编排启动多个容器 asp.net core webapi容器与Mysql ...

Docker使用docker-compose.yml构建Asp.Net Core和Mysql镜像并与Mysql数据库通信

version: '3' services: mycore01: build: context: .   container_name: 'mycore01'   #自定义容器名 dockerfile ...

随机推荐

【知识积累】BufferedImage类实现图片的切分

一.引言 如何实现图片分割?若有园友用到这个模块,使用Java的BufferedImage类来实现,图片切分也可以作为一个小工具积累起来,以备不时之需. 二.代码清单 package com.lees ...

asp.net MVC 源码分析

先上一张图吧 asp.net请求机制的图  by传智播客邹华栋老师 然后是 邹老师添加MVC请求过程的图 其实MVC 是在.netframework上加了一个过滤器  HttpModule 在C:\W ...

日暮·第一章·决斗

日暮 第一章 决斗   泉州府,位于帝国的东南沿海,在数百年前,这里已是帝国最大的通商口岸之一,其一城之繁荣喧哗足以与异邦小国的都城相媲美,无数的人曾经来到这里,追逐财富,梦想,女人以及所有他们认为可 ...

UVa 11991:Easy Problem from Rujia Liu?(STL练习,map+vector)

Easy Problem from Rujia Liu? Though Rujia Liu usually sets hard problems for contests (for example, ...

Android UI开发第三十篇——使用Fragment构建灵活的桌面

http://www.lupaworld.com/article-222973-1.html 当我们设计应用程序时,希望能够尽最大限度的适配各种设备,包括4寸屏.7寸屏. 10寸屏等等,Android ...

android 随手记 videoview循环播放网络视频 和mediaplayer+sufaceview播放网络视频

1:videoview循环播放视频 1>xml

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值