HiSql官方文档(beta)

HiSql官方文档(beta)

HiSql 新一代无实体高性能ORM框架

快速上手 项目简介

简洁语法

以SQL常规语法主线,设计适配常用数据库的语法,上手方便一看就懂。

日志监控

根据需求对指定的表,可以增加日志监控,将改前改后数据生成凭证备查,也可根据凭证恢复。

智能检测

向表中插入或更新的数据HiSql在执行前对数据的有效性(类型,长度,正则表达式)校验,非法数据拦截在外并有错误提示。

跨库适配

不用管底层数据库的语法,只要熟悉了HiSql就可以操作支持的数据库,减少数据库的学习成本。

安全可靠

HiSql在编译时对注入攻击进行有效拦截处理,Sql执行超时可自定义监控,重要配置表可开启日志监控。

性能优越

单条插入,批量插入在同等配置下与其它ORM相比表现名列前茅


HiSql安装

Step 1 方式一 通过nuget 安装

输入 hisql 进行搜索选择最新的版本安装 注:支持FrameWork4.6,.netcore2.1,.NET5及以上版本 nuget安装

Step 1 方式二 通过下载HiSql源码进行本地编译引用

如果你需要再本地调试请下载源码

git clone https://github.com/tansar/HiSql.git
1
git clone https://gitee.com/tansar/HiSql.git
1

Step2 创建数据库连接

  HiSqlClient sqlclient = new HiSqlClient(
    new ConnectionConfig()
    {
        DbType = DBType.SqlServer,
        DbServer = "local-HoneBI",
        ConnectionString = "server=(local);uid=sa;pwd=Hone@123;database=HiSql;",//; 
        //User="tansar",//用于业务端传入的登陆帐号
        Schema = "dbo",//这个schema请务必填上
            IsEncrypt = true,
            IsAutoClose = false,
            SqlExecTimeOut = 60000,

            AppEvents = new AopEvent()
            {
                OnDbDecryptEvent = (connstr) =>
                {
                //解密连接字段
                //Console.WriteLine(quot;数据库连接:{connstr}");

                return connstr;
                },
                OnLogSqlExecuting = (sql, param) =>
                {
                //sql执行前 日志记录 (异步)

                //Console.WriteLine(quot;sql执行前记录{sql} time:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")}");
            },
                OnLogSqlExecuted = (sql, param) =>
                {
                //sql执行后 日志记录 (异步)
                //Console.WriteLine(quot;sql执行后记录{sql} time:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")}");
            },
                OnSqlError = (sqlEx) =>
                {
                //sql执行错误后 日志记录 (异步)
                  Console.WriteLine(sqlEx.Message.ToString());
                },
                OnTimeOut = (int timer) =>
                {
                //Console.WriteLine(quot;执行SQL语句超过[{timer.ToString()}]毫秒...");
                }
            }
        }
    );

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

Step3 初始化HiSql

  sqlclient.CodeFirst.InstallHisql();
1

以上代码只要执行一次执行完成后在当前连接的数据库在会产生以下表,如果识删除以下四张表也只要重新执行一下初始化即可

1.Hi_TabModel  #表结构信息主表
2.Hi_FieldModel #表结构信息明细表
3.Hi_Domain #数据域
4.Hi_DataElement  #数据元素
1
2
3
4

在第一次查询表时HiSql都会将表结构信息冗余到表中,并进行缓存 流程如下 表结构缓存流程图

注:当物理表结构有变化时只要清除缓存或重启应用即可以获取以物理表为准的结构信息

HiSql所有高级功能如进行数据校验都是依赖于该表结构的配置 关于Hi_FieldModel的配置请查看详细介绍

接下来可以用HiSql开始您的工作了