序曲:學習編程最好的方式就是敲代碼,沒有比這個更好的方法,哪怕你看了上百G的視頻,都不如你本身敲幾行代碼更爲有效。還有要記得敲完代碼而後寫一篇隨筆來記錄一下你所學所想。html
你們都知道,.netcore是微軟一個具備歷史意義的產品,由於終於開始跨平臺了,java
敲了那麼多年的代碼,每次都被吐槽不能跨平臺,如今終於開啓了跨平臺的腳步了。mysql
既然跨平臺了,那麼咱們是否是可使用mysql了,畢竟mysql的使用率是很是的高,git
各類解決方案和優化方案都很是的多。若是你不知道什麼是mysql,那麼你本身去百度一下。程序員
好了,廢話太多了,咱們開始來說一講如何在core上使用mysql。github
第一步,固然是引用對應的包了sql
本次主要是引用兩個包,分別是數據庫
MySql.Data編程
Dapperwindows
引用成功以後,就開始敲代碼
本講解使用的是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後,你會發現變得不同了
這裏咱們先加一個實體
以下所示:
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<luckmoney>("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; } } }
若是你想用參數,也很簡單,以下所示:
MySqlConnection mySqlConnection = new MySqlConnection(ConnString); var list = mySqlConnection.Query<luckmoney>("select * from luckmoney where id=@id ",new { id=1 }); foreach (var item in list) { Console.WriteLine(item.id); }
在這裏我就不講很複雜的東西,只是簡單的引導大家怎麼使用mysql和Dapper,但願你們多敲一敲代碼,裏面還有更多東西等大家探索。
總結:如今敲代碼愈來愈方便了,之前還要本身去敲各類helper,如今別人都給你封裝好了,你本身去使用就能夠,能夠說什麼很方便了
可是不能所以不去探索這些東西的原理,不去探索,你只是敲代碼的機器,探索了,你的代碼就代入了你的思想和靈魂,我之前和你們同樣
天天就是各類增刪改查,各類copy,幾年下來,東西沒學到多少,年齡大了,更很差找工做。
各位別嫌棄我廢話太多,畢竟咱們程序員是孤獨的。