CYQ.Data 轻量数据层之路 V4.3 版本发布[增加对SQLite,MySQL数据库的支持]

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介:

前言:

继上一版本:CYQ.Data 轻量数据层之路 V4.0 版本发布 ,又过去一个来月了,不过也过了一个新年了。

 

由于过年原因,因此框架也没多折腾什么,只是年前年后顺路把SQLite,MySQL两种数据库给支持上了。

 

提示:基于网友的提醒,本次版本发布带CYQ.Data.xml,增加了方法的中文提示。

 

下面看一下新版本的修改记录

复制代码
1:MAction的构造函数允许从MDataRow加载

2:MutilLanguage在设置Cookie时也同时设置语言标识

3:MutilLanguage默认语言取自浏览器语言

4:取消CYQ.Data.SQL.OutPutData类及两个相关枚举TableType|DataBaseType,将[生成枚举|创建分页存储过程|创建日志表]等操作单独移到辅助工具实现

5:取消ProcedureSql,新增SchemaAction来获取表架构数据

6:增加对SQLite数据的支持

9:MAction增加从Json反加载数据填充

7:增加对MySql数据库的支持

8:提升数据表架构的缓存级别:MDataColumn->MDataRow
复制代码

 

 

下面进行详细的解说

 

一:MAction的构造函数允许从MDataRow加载

 

 增加这个原因,是基于 秋色园 应用中,考虑到数据重用的问题,简单解说一下:

1: 秋色园 缓存了用户的信息,就是一行数据了,OK,那么实际上对所有用户的操作都来自同一张表,于是,可以直接从缓存的Row中取数据表结构进行反填充即可以了。

由于数据表结构本身就有缓存,所以上面的填充效果,简单的看是不太明显的。

2:当用户编辑自己资料时,当独的数据行无法进行操作,因此时候填充,可以迅速转成可操作的MAction,节省一定的开销。

 

二:MutilLanguage在设置Cookie时也同时设置语言标识

三:MutilLanguage默认语言取自浏览器语言

 

在 秋色园 中,多语言应用的是比较广的,因此考虑的因素也是相对较多,包括对用户的浏览器语言判别来显示不同的语言文章,和通过显示的后缀和非后缀等情况做处理,所以小小的需要改动一下。

顺便说一下:CYQ.Data.Xml名称空间下的内容,千万不要放过。

 

四:取消CYQ.Data.SQL.OutPutData类及两个相关枚举TableType|DataBaseType,将[生成枚举|创建分页存储过程|创建日志表]等操作单独移到辅助工具实现
五:取消ProcedureSql,新增SchemaAction来获取表架构数据

 

这两个的调整,主要是为了减轻框架的大小,同时内部类重新优化了一下结构,不影响外围使用。

同时,去掉OutPutData类,意味着一些辅助功能,只能借辅助工具实现,包括生成mssql/oracle的分页存储过程。

 

六:增加对SQLite数据的支持

七:增加对MySql数据库的支持


采用插件式方式加载,如果需要使用,只要把相应的 MySql.Data.dll 或者 System.Data.SQLite.dll  CYQ.Data.dll 放在一起即可。

由于SQLite和Access都是单个文章方式,因此数据库链接配置方式类似如下:

复制代码
< appSettings >
        
< add  key ="AccessDbNameForWeb"  value ="App_Data/myspace.mdb" />
        
< add  key ="SQLiteDbNameForWeb"  value ="App_Data/sqlitedemo.db" />
    
</ appSettings >
    
< connectionStrings >
        
<!-- <add name="Conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}" providerName="System.Data.OleDb" />
        <add name="Conn" connectionString="Data Source={0}" providerName="System.Data.SQLite"/>
-->
        
< add  name ="Conn"  connectionString ="server=localhost;port=3309;user id=root;password=123456;database=mysqldemo"  providerName ="MySql.Data.MySqlClient" />
        
    
</ connectionStrings >
复制代码

 

八:提升数据表架构的缓存级别:MDataColumn->MDataRow

 

表架构缓存提升了一个级别,理论上性能是提升的,本属内部优化之事。

 

九:MAction增加从Json反加载数据填充

 

增加的这个功能是为Ajax应用准备的,应用示例代码:

复制代码
             using  (MAction action  =   new  MAction( " Blog_User " ))
            {
                action.GetFromJson(
" {id:2,name:\ " 秋色园\ " ,url:\ " www.cyqdata.com\ " } " );
                action.Update();
            }
复制代码

结果就是把id为2的行数据的name和url字段更改为相应的数据。

 

十:V4.3 框架下载

 

下载地址:下载中心-秋色园

PS:由于新增加数据库,相应的辅助工具V4.3版本也同时提供下载。 

 

十一:CYQ.Data框架项目案例

 

网址:http://www.cyqdata.com/cyqdata/article-cate-81

 

欢迎大伙继续提供CYQ.Data框架项目案例

 

后言:

复制代码
到本版本为止,支持的数据库类型为:Access / MSSQL[ 2000 / 2005 / 2008 ] / Oracle / SQLite / MySQL

其中Access
/ MSSQL两个系列在大量的项目应用中应用过后,已相当的稳定。

对于Oracle,在测试中通过,已有兄台在实际应用项目中应用,静待发布项目案例的那天。

对于SQLite和MySQL,在测试中通过,欢迎大伙在实际应用中若遇到问题欢迎反馈。
复制代码

 

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2011/02/15/1955025.html

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
4月前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
437 0
|
9月前
|
SQL 数据库连接 数据库
在C++的QT框架中实现SQLite数据库的连接与操作
以上就是在C++的QT框架中实现SQLite数据库的连接与操作的基本步骤。这些步骤包括创建数据库连接、执行SQL命令、处理查询结果和关闭数据库连接。在实际使用中,你可能需要根据具体的需求来修改这些代码。
599 14
|
12月前
|
SQL 关系型数据库 MySQL
vb6读取mysql,用odbc mysql 5.3版本驱动
通过以上步骤,您可以在VB6中使用ODBC MySQL 5.3驱动连接MySQL数据库并读取数据。配置ODBC数据源、编写VB6代码
409 32
|
关系型数据库 MySQL Linux
MySQL版本升级(8.0.31->8.0.37)
本次升级将MySQL从8.0.31升级到8.0.37,采用就地升级方式。具体步骤包括:停止MySQL服务、备份数据目录、下载并解压新版本的RPM包,使用`yum update`命令更新已安装的MySQL组件,最后启动MySQL服务并验证版本。整个过程需确保所有相关RPM包一同升级,避免部分包遗漏导致的问题。官方文档提供了详细指导,确保升级顺利进行。
1366 16
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
1221 15
|
关系型数据库 MySQL
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
283 5
|
存储 SQL 数据库
数据库知识:了解SQLite或其他移动端数据库的使用
【10月更文挑战第22天】本文介绍了SQLite在移动应用开发中的应用,包括其优势、如何在Android中集成SQLite、基本的数据库操作(增删改查)、并发访问和事务处理等。通过示例代码,帮助开发者更好地理解和使用SQLite。此外,还提到了其他移动端数据库的选择。
370 8
|
关系型数据库 MySQL
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
mysql 5.7.x版本查看某张表、库的大小 思路方案说明
255 1
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
348 4
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
684 5

推荐镜像

更多