我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用SqlSugar连接多个数据库(sqlserver,sqlite,mysql)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用SqlSugar连接多个数据库(sqlserver,sqlite,mysql)

    有时候,一个项目只有一个数据库,比如只有SQLite,或者MySQL数据库,那么我们只需要使用一个固定的数据库即可。但是一个项目如果写好了,有多个用户使用,但是多个用户使用不同的数据库,这个时候,我们就需要把软件设计成可以连接多个数据库的模式,用什么数据库,就配置什么数据库即可。

本例子分别使用

sqlserver

mysql

SQLite

建立一个wpf程序,使用.net5

安装SqlSugar

建立HelperDB

using SqlSugar;using System;using System.Collections.Generic;using System.Configuration;using System.Linq;using System.Text;using System.Threading.Tasks;namespace SqlSugarDemo{    public static class HelperDB    {        public static SqlSugarClient SqlSugarClient        {            get            {                return new SqlSugarClient(new ConnectionConfig()                {                    DbType = SetDBType(ConfigurationManager.AppSettings["DBType"]), //配置数据库类型                    ConnectionString = ConfigurationManager.AppSettings["ConnectionString"],  //数据库连接字符串                    IsAutoCloseConnection = true,//设置为true无需使用using或者Close操作,自动关闭连接,不需要手动关闭数据链接                    InitKeyType = InitKeyType.SystemTable//默认SystemTable, 字段信息读取, 如:该属性是不是主键,是不是标识列等等信息                });            }        }        public static DbType SetDBType(string dbType)        {            DbType DBType;            switch (dbType.ToLower())            {                case "sqlserver":                    DBType = DbType.SqlServer;                    break;                case "sqlite":                    DBType = DbType.Sqlite;                    break;                case "mysql":                    DBType = DbType.MySql;                    break;                default:                    DBType = DbType.MySql;                    break;            }            return DBType;        }    }}

Users实体类,这个实体类要和数据库一样的,形成一一对应的关系。

数据库

此处,我们是先有数据库,然后手动创建的实体类。也可以使用SqlSugar工具箱或者代码自动生成实体类

Db First 实体生成 - SqlSugar 5x - .NET果糖网

代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace SqlSugarDemo{    public class Users    {        public int Id { get; set; }        public string Name { get; set; }        public int age { get; set; }        public string aa { get; set; }        public string bb { get; set; }    }}

 MainWindow.xaml界面

            

MainWindow.cs界面

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace SqlSugarDemo{    ///     /// Interaction logic for MainWindow.xaml    ///     public partial class MainWindow : Window    {        public MainWindow()        {            InitializeComponent();        }        private void btn_Click(object sender, RoutedEventArgs e)        {            List users = HelperDB.SqlSugarClient.Queryable().Where(c => c.Name == "张三").ToList();        }    }}

修改App.config配置文件

                

我们开启MySQL数据库,然后进行调试,看程序的结果

数据库中表的值

我们修改配置,换成SqlServer数据库

                

启动SqlServer数据库,然后进行调试,看程序的结果

数据库中表的值

Sqlite数据库,需要在代码里面创建数据库,建立表,再建立数据

配置文件

                        

HelperDB类文件 

using Microsoft.Data.Sqlite;using SqlSugar;using System;using System.Collections.Generic;using System.Configuration;using System.Linq;using System.Text;using System.Threading.Tasks;namespace SqlSugarDemo{    public static class HelperDB    {        public static string DBConnectionString { get; set; } = ConfigurationManager.AppSettings["ConnectionString"];        public static SqlSugarClient SqlSugarClient        {            get            {                return new SqlSugarClient(new ConnectionConfig()                {                    DbType = SetDBType(ConfigurationManager.AppSettings["DBType"]), //配置数据库类型                    ConnectionString = DBConnectionString,  //数据库连接字符串                    IsAutoCloseConnection = true,//设置为true无需使用using或者Close操作,自动关闭连接,不需要手动关闭数据链接                    InitKeyType = InitKeyType.Attribute//默认SystemTable, 字段信息读取, 如:该属性是不是主键,是不是标识列等等信息                });            }        }        public static DbType SetDBType(string dbType)        {            DbType DBType;            switch (dbType.ToLower())            {                case "sqlserver":                    DBType = DbType.SqlServer;                    break;                case "sqlite":                    DBType = DbType.Sqlite;                    DBConnectionString = @"DataSource=" + AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["ConnectionString"];                    //DBConnectionString = new SqliteConnectionStringBuilder()                    //{                    //    DataSource = @"E:\project\测试\SqlSugarDemo\bin\Debug\net5.0-windows\1.db" ,                    //    Password = "123456"  //高版本不支持密码,需要低版本                    //}.ToString();                    break;                case "mysql":                    DBType = DbType.MySql;                    break;                default:                    DBType = DbType.MySql;                    break;            }            return DBType;        }    }}

MainWindow.cs文件夹

using Microsoft.Data.Sqlite;using SqlSugar;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace SqlSugarDemo{    ///     /// Interaction logic for MainWindow.xaml    ///     public partial class MainWindow : Window    {        public MainWindow()        {            InitializeComponent();        }        private void btn_Click(object sender, RoutedEventArgs e)        {            HelperDB.SqlSugarClient.DbMaintenance.CreateDatabase();   //建库            HelperDB.SqlSugarClient.CodeFirst.InitTables();    //建表            Users users1 = new Users();            users1.Id = 1;            users1.Name = "张三";            users1.age = 20;            users1.aa = "111";            users1.bb = "sqlite";            HelperDB.SqlSugarClient.Insertable(users1).ExecuteCommand();  //插入数据            var users = HelperDB.SqlSugarClient.Queryable().Where(c => c.Name == "张三").ToList();   //查询数据        }    }}

数据库中表的值

代码调试的值 

来源地址:https://blog.csdn.net/u012563853/article/details/127013521

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用SqlSugar连接多个数据库(sqlserver,sqlite,mysql)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sqlite数据库连接池如何使用

SQLite数据库是一种轻量级的数据库,不支持连接池。每个连接都是一个独立的数据库文件,因此在SQLite中并不需要使用连接池。如果你想在Python中使用SQLite数据库,可以使用sqlite3模块来连接数据库并执行操作。以下是一个简
sqlite数据库连接池如何使用
2024-04-09

使用Jfinal怎么连接多个数据库

本篇文章为大家展示了使用Jfinal怎么连接多个数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 添加mssql-jdbc-7.4.1.jar和mysql-connector-java-8.
2023-06-14

spring怎么连接多个数据库

在Spring中,可以使用多个数据源来连接多个数据库。下面是一些步骤:1. 在application.properties或application.yml文件中配置多个数据源的连接信息。例如,可以为每个数据源定义不同的datasource.
2023-10-20

C++连接并使用MySQL数据库

本文实例为大家分享了C++连接并使用MySQL数据库的具体代码,供大家参考,具体内容如下 1. C++连接MySQL数据库 首先在VS里新建C++工程项目,右键工程项目名,选择属性。选择平台选择选择配置管理器选择新建下拉菜单中选择X64 .
2022-05-24

jdbc连接主流数据库方式(oracle、mysql、sqlserver)

jdbc连接主流数据库方式JDBC全称:java database connectivity ,是sun公司提供的Java连接数据库的标准规范。1、oracle Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一
jdbc连接主流数据库方式(oracle、mysql、sqlserver)
2017-10-22

使用SqlSugar连接Oracle数据库报错需要引用Oracle.ManagedDataAccess.dll的处理方法

在使用SqlSugar框架连接Oracle数据库报错需要引用Oracle.ManagedDataAccess.dll的处理方法当我们使用SqlSugar框架时,一般都会通过Visual Studio的NuGet安装SqlSugar,安装完成后只把SqlSuga
使用SqlSugar连接Oracle数据库报错需要引用Oracle.ManagedDataAccess.dll的处理方法
2016-04-28

MySQL数据库:多表连接查询

多表连接查询注意:使用连接技术建议将表经行重命名!# explain 检索连接是否达标# 内连接 # 语法1from 表1 inner join 表2 on 主键字段=外键字段 [where 条件表达式] # 语法2 from 表1,表2 where 主键字段
2022-01-30

如何使用PHP连接MySQL数据库

这篇“如何使用PHP连接MySQL数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用PHP连接MySQL数据库”文
2023-07-06

初步使用Node连接Mysql数据库

使用Node做Web页面开发,基本上是连接非关系型数据库mongodb,而这里我还是先尝试连接了一下mysql数据库,因为相对于mysql来说mongodb过于生疏,想着快速出来页面,所以选择相对熟悉一些的mysql。 1. 安装mysql
2022-06-04

编程热搜

目录