C#连接MySQL(使用 Petapoco轻量级ORM框架 )

@关于Petapoco的基础连接

Petapoco连接准备

首先我们需要准备在VS nuget 包管理控制台(操作步骤:工具->nuget包管理器->管理解决方案的nuget程序包)下载Petapoco,一般情况安装最新版的版本在这里插入图片描述
安装完之后会多出一个Models文件夹,里面会存放我们的Petapoco.cs的工具类源代码文件,以及一个后缀为.tt(T4模板文件:文本模板转换工具包和.tt依赖关联的两个生成文件,想了解具体的可以查看:https://www.imooc.com/wenda/detail/432510),如下面:
在这里插入图片描述

Petapoco连接到MySQL

1.安装mysql-connector-net-8.0.14.msi
我们需要准备一个mysql OBDC 数据源的注册连接插件,在网上可以下载mysql-connector-net-8.0.14.msi这个插件,可以前往这个地址:https://dev.mysql.com/downloads/connector/net/6.4.html

具体下载操作可以前往查看地址:https://jingyan.baidu.com/article/a3f121e421bde4bc9052bbe6.html

2.引用MySql.Data.dll
在这里插入图片描述
后面在项目里面直接添加就可以了,因为我是本地主机有这个插件,所以直接添加引用了该插件本地的路径,如果没有本地主机没有这个插件,可以在nuget上下载安装到项目里。
在这里插入图片描述

3.添加连接配置及引用
app.config文件内添加。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
	<connectionStrings>

<add connectionString="server=localhost;database=test;port=3306;user id=root;password=root;Connect Timeout=500;Charset=gb2312" name="test" providerName="MySql.Data.MySqlClient" />
		
	</connectionStrings>
</configuration>

代码里例如查询操作,Database的构造函数实参的参数就是配置中的 name 属性值

private List<T__interface> Query()
{
	var db = new PetaPoco.Database("test");
 	 try
     {
	     PetaPoco.Sql sql = new Sql("SELECT * FROM t_interface order by id desc limit 0,10");
	     List<T__interface> datas= db.Query<T__interface>(sql).ToList();
	     return datas;
     }
     finally
     {
	     db.Dispose();
     }
 }

Model实体类 T__interface 的属性映射需要添加,映射注解:TableName(表名),PrimaryKey(主键),Column(列名->指定列名方式映射)。
需要注意的是如果没有Column注解的属性,那么会默认以该属性名作为Column的列映射,如果不想映射该属性,需要该属性上面添加注解Ignore。

using PetaPoco;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Test.model
{
    [TableName("t__interface")]
    [PrimaryKey("id")]
    public class T__interface
    {
        [Column("id")]
        public int id { set; get; }
        [Column("status")]
        public int status { set; get; }
        [Ignore]
        public string content { set; get; }
    }
}

扩展

除此之外我们还可以利用T4模板文件(后缀是.tt的文件)一键生成实体类,这个就类似于 EntityFramework 里面的 DB First ,我们需要先将数据库建好,然和根据数据库创建对应的表名->实体类名,列名->属性名。

1.建立数据库
在这里插入图片描述

在这里插入图片描述

2.设置T4模板映射
将 ConnectionStringName 设置在你的项目中的app.config文件里配置的连接名在这里插入图片描述在这里插入图片描述
然后T4模板文件设置完后保存就可以了,一般情况会自动运行的改动后保存后的T4文件。或者也可以右击该文件 -> 运行自定义工具。之后我们可以看到自动生成的DB操作和实体映射在一起的文件类了。
在这里插入图片描述
3.增删改查操作
由于根据T4生成,可以方便我们增删改查可以快速简单操作。下面是代码

		//条件查询多条数据
  		public List<t__interface> Query()
        {
        	string table = t__interface.GetType().Name;
            Sql sql = new Sql("select * from " + table + " where status < 2");
            return testDB.Record<t__interface>.Query(sql).ToList();
        }
        //根据查寻到的数据对象修改某条属性后再传入修改
        public void Update(t__interface t_)
        {
            t_.Update();
        }
         //根据查寻到的数据对象后再传入删除
        public void Delete(t__interface t_)
        {
            t_.Delete();
        }
        //创建对象,传入直接新增数据
        public void Insert(t__interface t_)
        {
            t_.Insert();
        }
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值