免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持APP、电脑端、小程序、IOS免签等等

sqlsugar快速开发框架

SQLSugar是一个基于ORM框架的快速开发框架,可以方便地进行数据库操作,提高开发效率。下面就来详细介绍一下SQLSugar的原理和使用方法。

一、原理

SQLSugar基于ORM框架,ORM全称为Object-Relational Mapping,即对象关系映射。ORM框架将数据库表映射为对象,将数据库操作封装为对象方法,使得开发者可以不用关心底层数据访问细节,只需要关注业务逻辑的实现,提高开发效率。

SQLSugar采用了Code First的开发模式,即先定义实体类,再由实体类生成数据库表。开发者只需要编写实体类,就可以自动生成数据库表和数据访问方法。SQLSugar支持多种数据库类型,包括SQL Server、MySQL、Oracle、SQLite等。

二、使用方法

1. 安装SQLSugar

可以通过Nuget包管理器安装SQLSugar,也可以从GitHub上下载源代码手动安装。

2. 定义实体类

定义实体类时需要使用特殊的标记,例如:

```

[SugarTable("User")]

public class User

{

[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]

public int Id { get; set; }

[SugarColumn(Length = 50, IsNullable = false)]

public string Name { get; set; }

[SugarColumn(Length = 50, IsNullable = false)]

public string Password { get; set; }

}

```

在这个例子中,使用了SugarTable和SugarColumn两个特殊的标记。SugarTable用于指定数据库表名,SugarColumn用于指定实体类属性对应的数据库字段名、属性长度、是否允许为空等信息。

3. 数据库连接配置

在使用SQLSugar之前,需要先配置数据库连接信息。可以使用以下代码配置数据库连接:

```

SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()

{

ConnectionString = "server=127.0.0.1;database=test;uid=root;pwd=123456;",

DbType = DbType.MySql,

IsAutoCloseConnection = true,

});

```

在这个例子中,使用了ConnectionConfig类配置数据库连接信息,包括连接字符串、数据库类型、是否自动关闭连接等信息。

4. 数据库操作

通过SQLSugar可以进行各种数据库操作,包括增删改查等。以下是一些例子:

```

//插入数据

User user = new User() { Name = "Tom", Password = "123456" };

int id = db.Insertable(user).ExecuteReturnIdentity();

//更新数据

int result = db.Updateable().SetColumns(u => new User() { Password = "654321" }).Where(u => u.Name == "Tom").ExecuteCommand();

//删除数据

int result = db.Deleteable().Where(u => u.Name == "Tom").ExecuteCommand();

//查询数据

List userList = db.Queryable().Where(u => u.Name.Contains("T")).ToList();

```

在这些例子中,使用了Insertable、Updateable、Deleteable和Queryable等方法进行数据库操作。其中,Insertable用于插入数据,Updateable用于更新数据,Deleteable用于删除数据,Queryable用于查询数据。

5. 其他功能

SQLSugar还提供了一些其他的功能,例如分页查询、事务处理、多表查询等。以下是一些例子:

```

//分页查询

List userList = db.Queryable().Where(u => u.Name.Contains("T")).OrderBy(u => u.Id).ToPageList(1, 10);

//事务处理

db.Ado.BeginTran();

try

{

db.Insertable(new User() { Name = "Tom", Password = "123456" }).ExecuteCommand();

db.Insertable(new User() { Name = "Jerry", Password = "654321" }).ExecuteCommand();

db.Ado.CommitTran();

}

catch (Exception ex)

{

db.Ado.RollbackTran();

}

//多表查询

var query = db.Queryable((u, o) => new object[] {

JoinType.Left, u.Id == o.UserId

}).Select((u, o) => new {

UserId = u.Id,

UserName = u.Name,

OrderId = o.Id,

OrderNo = o.OrderNo

}).Where((u, o) => u.Name.Contains("T"));

```

在这些例子中,使用了ToPageList、BeginTran、CommitTran、RollbackTran和JoinType等方法进行分页查询、事务处理、多表查询等操作。

三、总结

SQLSugar是一个基于ORM框架的快速开发框架,可以方便地进行数据库操作,提高开发效率。SQLSugar采用了Code First的开发模式,支持多种数据库类型。使用SQLSugar需要先定义实体类,然后配置数据库连接信息,最后进行各种数据库操作。SQLSugar还提供了一些其他的功能,例如分页查询、事务处理、多表查询等。


相关知识:
php app开发
PHP是一种流行的服务器端编程语言,它被广泛用于Web应用程序的开发。PHP应用程序可以运行在各种操作系统上,包括Linux、Windows和Mac OS X等。PHP应用程序可以与各种数据库系统集成,如MySQL、Oracle和PostgreSQL等。本
2023-04-06
属于orm开发框架的有
ORM(Object Relational Mapping,对象关系映射)是一种将对象模型和关系数据库模型进行映射的技术,它是通过使用元数据来描述对象和关系数据库之间的映射关系,从而将对象和关系数据库进行无缝的集成。ORM框架充分发挥了对象的优势,使得开发
2023-04-06
vue怎么做app
Vue.js 是一个流行的 JavaScript 框架,用于构建交互式和响应式 Web 应用程序。虽然 Vue.js 主要用于 Web 开发,但它也可以用于构建移动应用程序。Vue.js 提供了许多工具和插件,使得开发人员可以使用它来构建高效的移动应用程序
2023-04-06
APP封装
APP封装是指将一个已经开发完成的应用程序打包成一个可以直接安装和使用的安装包。在Android和iOS系统中,APP封装通常是以APK和IPA格式出现的。APP封装的目的是为了方便用户下载和安装应用程序,同时也可以保护应用程序的代码和资源,防止被非法复制
2023-04-06
安卓app html全屏
在安卓应用程序中,HTML全屏是指在应用程序中加载的网页或HTML内容可以完全填满屏幕的显示方式。HTML全屏功能是非常重要的,因为它可以提高用户体验,让用户更好地浏览网页内容。在本文中,我们将详细介绍安卓应用程序中的HTML全屏功能的原理和实现方式。实现
2023-04-06
网页转应用app生成器
随着移动互联网的发展,越来越多的网站和服务需要移动应用来提供更好的用户体验。但是,对于许多小型网站和创业公司来说,开发一个原生的移动应用需要投入大量的时间和资源,因此网页转应用app生成器应运而生。网页转应用app生成器是一种工具,可以将网站转换为原生的移
2023-04-06
快捷创建app
随着智能手机的普及,移动应用程序(App)已成为人们生活中必不可少的一部分。对于企业和开发者来说,开发一个高质量的App是非常重要的。然而,传统的应用开发流程需要耗费大量的时间和资源,因此快捷创建App的方式越来越受到开发者的关注。本文将介绍快捷创建App
2023-04-06
网站一键生成器
网站一键生成器是一种快速生成网站的工具,它可以帮助无技术背景的用户快速创建自己的网站。它的原理是通过预设模板、自定义设置和自动化处理等方式,将用户的需求转化为具体的网站页面和功能。网站一键生成器的工作流程包括以下几个步骤:1.选择模板:用户可以在一键生成器
2023-04-06
免费app开发
随着移动互联网的快速发展,移动应用程序(App)越来越受欢迎。许多人想要开发自己的应用程序,但是由于缺乏技术知识和经验,他们不知道从何开始,更不用说开发成本了。幸运的是,现在有许多免费的应用程序开发平台和工具可供选择,让每个人都能够轻松地创建自己的应用程序
2023-04-06
webapp streamlit
Streamlit是一个Python库,可以帮助开发人员快速构建漂亮的Web应用程序,而不需要编写任何HTML、CSS或JavaScript代码。它是一种基于Python的轻量级Web框架,旨在帮助数据科学家和机器学习工程师更轻松地创建和共享交互式Web应
2023-04-06
h5和app交互
HTML5和移动应用程序之间的交互是现代Web应用程序开发的一个重要方面。HTML5是Web技术的最新版本,它支持许多新功能和API,可以与移动设备的硬件和软件交互。本文将介绍HTML5如何与移动应用程序交互。一、通过浏览器打开应用程序HTML5应用程序可
2023-04-06
h5前端混合开发框架
H5前端混合开发框架是一种将Web技术与原生应用开发技术相结合的开发模式,它通过将HTML、CSS、JavaScript等Web技术与原生应用开发技术相结合,实现了在原生应用中嵌入Web页面或Web应用的开发方式。这种开发模式可以使开发者利用Web技术快速
2023-04-06
©2015-2021 成都七扇门科技有限公司 yimenapp.cn  川公网安备 51019002001185号 蜀ICP备17005078号