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

这篇具有很好参考价值的文章主要介绍了使用SqlSugar连接多个数据库(sqlserver,sqlite,mysql)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

本例子分别使用

sqlserver

mysql

SQLite

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

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

2.安装SqlSugar

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

3.建立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;
        }
    }
}

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

数据库

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

此处,我们是先有数据库,然后手动创建的实体类。也可以使用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; }
    }
}

5. MainWindow.xaml界面

<Window x:Class="SqlSugarDemo.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:SqlSugarDemo"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Button x:Name="btn" Content="确定" Click="btn_Click" Width="100" Height="50"/>
    </Grid>
</Window>

6.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
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void btn_Click(object sender, RoutedEventArgs e)
        {
            List<Users> users = HelperDB.SqlSugarClient.Queryable<Users>().Where(c => c.Name == "张三").ToList();
        }
    }
}

7.修改App.config配置文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <!--<add key="DBType" value="sqlserver" />
    <add key="ConnectionString" value="server=192.168.20.245;uid=sa;pwd=123456;database=mysqlCodeFirst" />-->

    <add key="DBType" value="mysql" />
    <add key="ConnectionString" value="server=localhost;Database=mysqlCodeFirst;Uid=root;Pwd=123456" />
  </appSettings>
</configuration>

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

数据库中表的值

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

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

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

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="DBType" value="sqlserver" />
    <add key="ConnectionString" value="server=192.168.20.245;uid=sa;pwd=123456;database=mysqlCodeFirst" />

    <!--<add key="DBType" value="mysql" />
    <add key="ConnectionString" value="server=localhost;Database=mysqlCodeFirst;Uid=root;Pwd=123456" />-->
  </appSettings>
</configuration>

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

数据库中表的值

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

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

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

配置文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <!--<add key="DBType" value="sqlserver" />
    <add key="ConnectionString" value="server=192.168.20.245;uid=sa;pwd=123456;database=mysqlCodeFirst" />-->

    <!--<add key="DBType" value="mysql" />
    <add key="ConnectionString" value="server=localhost;Database=mysqlCodeFirst;Uid=root;Pwd=123456" />-->
    
    <add key="DBType" value="sqlite" />
    <add key="ConnectionString" value="DataBase\test.db" />
  </appSettings>
</configuration>

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
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    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>();    //建表

            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<Users>().Where(c => c.Name == "张三").ToList();   //查询数据
        }
    }
}

数据库中表的值

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

代码调试的值 

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

来源:使用SqlSugar连接多个数据库(sqlserver,sqlite,mysql)-CSDN博客文章来源地址https://www.toymoban.com/news/detail-403170.html

到了这里,关于使用SqlSugar连接多个数据库(sqlserver,sqlite,mysql)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 如何远程连接SQLServer数据库

    如何远程连接SQLServer数据库

    1.打开  选中如下的连接方式  连接成功后就会出出现 2.连接成功后:右键设置属性 安全性设置:如下图所示 设置连接属性:     设置完成之后点击完成!!! 3.打开  启动sqlServer服务,必须启动!!  按照如下进行启动,右键即可启动!  设置本机的ip地址,ipconfig查看本

    2024年02月09日
    浏览(10)
  • Python连接SQLserver数据库

    前进四的状态出发! 学习Python 连接 数据库 解决问题: 1:如何连接数据库 2:如何进行简单查询 3:如何将查询中的中文乱码给修复 4:如何进行插入,更新,删除 主要在pymssql.connect 中添加charset = ‘cp936’ 原因:因为字符串字段类型为:varchar,造成读取数据乱码。 方法一的缺点: 如果

    2024年02月02日
    浏览(10)
  • idea连接Sqlserver数据库报错:驱动程序无法使用安全套接字层(SSL)加密建立到SQL

    idea连接Sqlserver数据库报错:驱动程序无法使用安全套接字层(SSL)加密建立到SQL

    com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法使用安全套接字层(SSL)加密建立到SQL Server的安全连接。错误:“客户端首选项[TLS12]不接受服务器选择的协议版本TLS10”。 使用idea连接Sqlserver数据库,然后想用MybatisX插件生产代码 1、建立连接 填写数据库信息 测试连接报错

    2024年02月07日
    浏览(12)
  • ODBC连接数据库以SQLserver为例

    ODBC连接数据库以SQLserver为例

    ODBC是open database connect的缩写,意思是开放式数据库连接 首先要下载数据库!! 配置数据库(以SQL server为例) 首先打开SSMS(SQL server management studio) 右键所连接的数据库引擎,点击属性 点击安全性,选择SQL sesrver 和Windows的身份验证模式(要有密码) (如果刚开始下载SQL

    2023年04月23日
    浏览(15)
  • .NET6使用SqlSugar操作数据库

    .NET6使用SqlSugar操作数据库

    1.//首先引入SqlSugarCore包 2.//新建SqlsugarSetup类 3.//在appsettings添加连接字符串 4.//在Program注入SqlsugarSetup类 5.//在方法中依赖注入 6.使用SqlSugar增删改查

    2024年02月13日
    浏览(12)
  • .net8+webapi+sqlsugar基本配置;“连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确”异常

    .net8+webapi+sqlsugar基本配置;“连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确”异常

    1、引入sqlsugar的nugat包 2、封装一个操作类(参考sqlsugar官方文档) 3、配置program.cs和appsettings program.cs加上下面代码  appsettings配置连接字符串 4、新建一个控制台生成实体类 5、添加测试的controller 6、swagger调试抛异常 7、修改csproj文件中,仅适用.net 8(参考sqlsugar官方文档)  8、

    2024年03月15日
    浏览(9)
  • geoserver2.18(5):连接sqlserver数据库

    geoserver 2.18 sqlserver 2014 官方说明: Microsoft SQL Server and SQL Azure — GeoServer 2.20.x User Manual 有两种方式,1、JDBC连接,2、JNDI方式,讲解通过JDBC方式来连接GeoServer。 地址:Download - GeoServer,根据自己版本下载,将 gt-jdbc-sqlserver-24.0.jar、mssql-jdbc-8.2.2.jre8.jar 拷贝至geoserver目录下的WE

    2024年02月06日
    浏览(11)
  • 连接数据库报com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

    连接数据库报com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

    JDBC加载驱动,连接SQLServer 2012 报 java.ext.dirs: C:Program FilesJavajdk1.8.0_331jrelibext;C:WindowsSunJavalibext com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client pre

    2023年04月21日
    浏览(40)
  • py连接sqlserver数据库报错问题处理。20009

    py连接sqlserver数据库报错问题处理。20009

    pymssql模块连接sqlserver出现如下错误: 打开“SQL Server Configuration Manager”,找不到的话,可在计算机管理 - 服务和应用程序中找到。 在SQL Server Network Configuration - Protocols for SQLEXPRESS中启用TCP/IP协议, TCP/IP - Properties - IP Addresses 修改里面ip为127.0.0.1的启用状态。 TCP/IP - Properties

    2024年02月01日
    浏览(16)
  • c# 访问sqlServer数据库时的连接字符串

    //sql server 身份验证的场合, 连接字符串 private string ConnstrSqlServer = \\\"server=服务器名称;uid=登录名称;pwd=登录密码;database=数据库名称\\\"; //windows 身份验证连接字符串 private string ConnstrWindows = \\\"server=服务器名称;database=数据库名称;Trusted_Connection=SSPI\\\";    // C# 代码中用 SqlClient 的方式

    2024年02月10日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包