首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

实体类详解

实体过滤器EntityModule,用于拦截实体类删改操作,内置最常用3个过滤器UserModule/TimeModule/IPModule 上一章末尾推荐8个常用字段还记得吗?...当总行数100万以内,数字精确等于 select count(*) from table,大于100万,将采用特有的快速方法。...Valid常常可用于判断主要字段有效性,无效强烈推荐抛出参数类异常,魔方NewLife.Cube表单将可以捕获并定位。...__.ClassID表示映射到该字段,在所有显示ClassID地方用当前属性ClassName替代; 后面的类名和字段名,表示要关联目标表和字段魔方Cube表单中将直接生成下拉选择; 扩展查询...建立表格字段和索引,名字以及数据类型规范,推荐字段(时间,用户,IP) 实体类详解。数据类业务类,泛型基类,接口 功能设置。连接字符串,调试开关,SQL日志,慢日志,参数化,执行超时。

1.3K30

实体处理模块IEntityModule

2015年7月16日,XCode新增了实体处理模块IEntityModule,用于拦截实体对象删改操作。...如果想做假删除,就是在这里把删除标记字段改为true,然后entity.Update保存,接着返回false让外部不要继续执行Delete XCode内部,有三个最常用接口实现:UserModule...、TimeModule、IPModule 它们功能如下: 1,新增CreateUserID使用当前登录用户(通过IManageProvider接口获取),新增修改时UpdateUserID使用当前登录用户...2,新增CreateTime使用当前时间,新增修改时UpdateTime使用当前时间 3,新增CreateIP使用当前访问地址(通过WebHelper.UserHost),新增修改时UpdateIP...一般需要用到实体类静态构造函数里面注册使用

35600
您找到你想要的搜索结果了吗?
是的
没有找到

实体处理模块IEntityModule

2015年7月16日,XCode新增了实体处理模块IEntityModule,用于拦截实体对象删改操作。...如果想做假删除,就是在这里把删除标记字段改为true,然后entity.Update保存,接着返回false让外部不要继续执行Delete XCode内部,有三个最常用接口实现:UserModule...、TimeModule、IPModule 它们功能如下: 1,新增CreateUserID使用当前登录用户(通过IManageProvider接口获取),新增修改时UpdateUserID使用当前登录用户...2,新增CreateTime使用当前时间,新增修改时UpdateTime使用当前时间 3,新增CreateIP使用当前访问地址(通过WebHelper.UserHost),新增修改时UpdateIP...一般需要用到实体类静态构造函数里面注册使用

543100

Rafy 框架 - 幽灵插件(假删除)

Rafy 框架又新成员:幽灵插件。本文将解释该插件场景、使用方法、原理。 场景 开发各类数据库应用系统,往往需要在删除数据不是真正地删除数据,而只是把数据标识为‘已删除’状态。... DomainApp 中添加该插件: 为需要幽灵功能实体打开该功能,需要在实体元数据配置中进行配置: 效果 所有继承自 Entity 实体都会统一添加一个 IsPhantom...这个属性表示这个实体是否为‘幽灵’,即已经删除数据。 开发者可以使用 Meta.EnablePhantoms() 来为某个指定实体类型开启‘幽灵’功能。...使用批量导入数据插件进行数据批量导入时,批量删除实体同样都会被标记为‘幽灵’状态。 运行程序后,数据库中字段,已经自动添加上 IsPhantom 字段了: ?...使用 GetAll 查询所有实体,框架自动加上一 IsPhantom = false 过滤条件: SELECT * FROM [User] WHERE [User].

1.2K80

大数据开发,一定要关注小细节

2,危险金字塔 三重门可以拆解成一个倒立金字塔,这个倒立着金字塔是危险,总要一种摇摇欲坠感觉,需要数据攻城狮们殚心竭虑守护。...业务表和日志采集:动要有原则: 1,能添加值不要新增列,比如在json类型加值,不要增加额外列名。 2,能增加列不要新增一个表。 3,能加一个辅助表,不要重构原有表结构。...4,遵循值,增列,副表优先集,提前周知变化,早做应对。 3,动一下就是一万年 数据开发工作流程是这样。 接到一个数据需求, 第一步,我们要分析需求合理性,能不能做。...其实在大数据量面前,生产数据过程是漫长,需要花费很多时间去等待。 第五步测试极为重要 ,而且需要使用八倍镜,仔细推荐,认真核对。...比如:统计当日支付要看支付时间不要看下单时间应为下单可以第二天支付。还有一个小小“=”号让统计意义南辕北辙。也一定要主要主要表字段类型,不要望文生义,id不一定是数字。

47220

NewLife.XCode中如何借助分部抽象多个具有很多共同字段实体类

由于XCode是充血模型,我们可以为这两个实体类做一个统一基类来达到我目的,但是这个统一基类里面无法访问子类字段,编码上很不方便。 这一次,我们用分部接口!...先来看看这两个实体类 image.png image.png 这两个实体类,就RentID和SaleID字段不同,其它都一样,包括名字、类型、业务意义。...image.png 如上,根据不同类型,创建实体操作者eop。我这里类型是硬编码,也可以根据业务情况采用别的方式得到类型。 实体操作者eop表现了事务管理、创建实体entity操作。...实体entity是IEntity类型,可以进行删改等操作。这里为了实体接口精简和独立,实体接口并没有继承IEntity,实际上实体类都继承了这两个接口。...所以,我们可以先转为IHouseImage接口,然后随意操作,当然你也可以接口中增加各种方法。 好了,结束了!

2.2K60

6,ORM组件XCode(撬动千万级数据)

本篇我们来试试XCode基本功功力如何,测试单表一千万业务数据环境下查询速度,删改等没什么可测试。...Entity层只负责生成获取满足条件所有数据SQL,加上分页参数后传递给下层数据访问层,自身不处理问题。...在这里不得不提是,第一个方法使用了最新版本V5.0新特性——弱类型访问。...业务主键还有经常查询字段,根据情况建立非聚集索引。千万数据下,没有索引字段,基本上查不动。 建立索引,特别注意包含字段include(不是组合索引)。...SQLServer管理工具里面建立索引,似乎无法添加include字段。可以先设置好索引,不要保存,点击生成脚本,然后复制到查询窗口,增加include后再执行。

88380

分表分库(百亿级大数据存储)

为了方便,我们将使用SQLite数据库,因此不需要配置任何数据库连接,XCode检测到没有名为STOD连接字符串,将默认使用SQLite。...指定不存在数据库和数据表,XCode反向工程将会自动建表建库,这是它独有的功能。...分表查询用法与分表删改一样: static void SearchByDate() { // 预先准备好各个库连接字符串,动态增加,也可以配置文件写好 var start = DateTime.Today...分表分库后,最容易犯下错误,就是使用时忘了设置表名,错误表上查找数据,然后怎么也查不到…… 分表策略 根据这些年经验: Oracle适合单表1000万~1亿行数据,要做分区 MySql适合单表1000...某项目使用XCode分表功能,已经过生产环境三年半考验,日均新增4000万~5000万数据量,2亿多次删改,总数据量数百亿。

1.1K30

DCache 分布式存储系统|Set, ZSet 缓存模块创建与使用

之前系列文章中,我们介绍了 DCache 及其 KV, K-K-Row 和 List 缓存模块使用,本文将继续介绍如何使用 DCache 中集合类型缓存模块 —— Set 和 ZSet 缓存模块...在前面的文章中,我们介绍过 key-value, k-k-row 和 list 两种类型缓存模块使用方式,本文将继续介绍集合类型,set 和 zset 缓存模块使用。...TestDemo 介绍如何创建和使用 Set/ZSet 缓存模块。...本文使用示例可以 GitHub 仓库 DCacheDemo(文末附链接) 中查看。 image.png 前面的文章我们已经介绍过缓存模块创建,各类型缓存模块创建流程是相似的。...集合添加值 接口 addSet 用于特定集合添加值,定义如下 int addSet(const AddSetReq &req) 其中结构 AddSetReq 及其嵌套结构 AddSetKeyValue

76840

高级增删改

Insert 生成标准Insert Into语句,根据设置决定是否使用参数化。(参数化设置) ?...Update 最精彩部分,莫过于脏数据(后面将有专门文章介绍)。 XCode中,修改数据标准流程是,先查出来,修改属性后保存。此时生成update set语句,只包含修改过字段。 ?...Valid常常可用于判断主要字段有效性,无效强烈推荐抛出参数类异常,魔方NewLife.Cube表单将可以捕获并定位。...除此之外,Valid用得更多功能是Insert/Update之前修改完善字段数据,例如上面对密码进行MD5散列,以及格式化RoleIDs。...建立表格字段和索引,名字以及数据类型规范,推荐字段(时间,用户,IP) 实体类详解。数据类业务类,泛型基类,接口 功能设置。连接字符串,调试开关,SQL日志,慢日志,参数化,执行超时。

1.5K10

Sentry 监控 - Snuba 数据中台架构(Data Model 简介)

101 系列教程(一) Sentry 监控 - Snuba 数据中台架构简介(Kafka+Clickhouse) 本节介绍数据 Snuba 中组织方式以及面向用户数据如何映射到底层数据库(如:...实体和实体类型 Snuba 客户端公开逻辑数据模型基本块(fundamental block)是实体。逻辑模型中,实体表示抽象概念(如 transaction 或 error)实例。...逻辑数据模型由一组 Entity Types 及其 relationships 组成。 每个 Entity Type 都有一个 schema,该模式由具有相关抽象数据类型字段列表定义。...Entity Types 明确包含在 Dataset 中。一个 Entity Type 不能出现在多个数据集中。 实体类型之间关系 数据集中实体类型逻辑上是相关。...一个是用于摄取数据主要 Errors Storage,另一个是read only view(只读视图),查询对 Clickhosue 负载较少,但提供较低一致性保证。

60810

maps

如何创建map? 给map添加元素 获取map中元素 删除map中元素 获取map长度 Map是引用类型 Map相等性 下面开始学习 1.什么是map?...map 是 Go 中将值(value)与键(key)关联内置类型。通过相应键可以获取到值。 ---- 2.如何创建map 通过 make 函数传入键和值类型,可以创建 map。...var personSalary map[string]int 可以创建,但是如果你想personSalary 添加值时候,go 会抛出一个panic ,但是第一种方式就不会出现这种异常 你可以使用下面的方式验证一下...nil 方式1 不是nil ---- 3.给map添加值 声明时候初始化 map package main import ( "fmt" ) func main() { personSalary...目前我们已经给 map 添加了几个元素,现在学习下如何获取它们。

53420

ASP.NET MVC学习笔记07数据表和模型添加新字段

给电影表和模型添加新字段 本节中,您将使用Entity Framework Code First来实现模型类上操作。从而使得这 些操作和变更,可以应用到数据库中。...默认情况下,就像您在之前教程中所作那样,使用 Entity Framework Code First自 动创建一个数据库,Code First为数据库所添加表,将帮助您跟踪数据库是否和从它生 成模型类是同步...如果他们不是同步Entity Framework将抛出一个错误。这非 常方便开发就可以发现错误,否则您可能会在运行时才发现这个问题。 (由一个晦涩错误信息,才发现这个问题。)...你可能不希望这样事情发生:某些情况下,当您更改数据测试,你希望你变化后数据 库同步更新。在这种情况下,你想要做一个有条件插入操作:只有当它不存在时候,插入一行。...传递给 AddOrUpdate方法第一个参数, 指定属性来使用以检查是否已存在某行。

1.2K30

【JavaEE进阶】MyBatis表查询

使用MyBatis完成数据库操作 1. MyBatis程序中sql语句即时执行和预编译 我们JDBC中构造sql语句时候,常常给字段值用问号?代替,最后使用方法对这些?...缺点: 它执行不安全,存在sql注入. 使用{},如果传入参数是字符串类型数据,还需要再构造sql语句时候使用单引号将传入参数引住'{}'。...使用#{}这种写法时候,如果我们传递参数是字符串类型,我们不需要使用单引号(’ ')将#{}括起来,执行时候,他会自动给value添加单引号。...标签:删除语句. 2.1 增加操作 添加操作接口中声明方法时候,定义返回值类型是int,因为默认返回值是受影响行数,XML文件实现add方法,也不需要规定返回值类型。...因为判断给字段是否传值使用标签将字段包裹起来了,但是字段字段之间要使用,逗号隔开,所以我们还需要将逗号拼接上。

25830

【JavaEE进阶】MyBatis表查询

使用MyBatis完成数据库操作 1. MyBatis程序中sql语句即时执行和预编译 我们JDBC中构造sql语句时候,常常给字段值用问号?代替,最后使用方法对这些?...缺点: 它执行不安全,存在sql注入. 使用{},如果传入参数是字符串类型数据,还需要再构造sql语句时候使用单引号将传入参数引住'{}'。...使用#{}这种写法时候,如果我们传递参数是字符串类型,我们不需要使用单引号(’ ')将#{}括起来,执行时候,他会自动给value添加单引号。...标签:删除语句. 2.1 增加操作 添加操作接口中声明方法时候,定义返回值类型是int,因为默认返回值是受影响行数,XML文件实现add方法,也不需要规定返回值类型。...因为判断给字段是否传值使用标签将字段包裹起来了,但是字段字段之间要使用,逗号隔开,所以我们还需要将逗号拼接上。

30630

增量累加

设置增量累加 实体类静态构造函数中,可以设置需要增量累加字段 ?... Meta.Factory.AdditionalFields 添加需要采用增量累加字段,执行update才生成 x=x+123 样子语句。 测试代码: ?...并且,这段代码不管执行多少次,都是这样累加效果,而不管实际值是多少。 累加原理 从数据库查出来一个对象,如果发现有设置累加字段,XCode会把此时数据“备份” 下来。...执行update保存时候,拿累加字段最后值减去原始备份值,得到差值(可能是负数),生成 x=x+123 或 x=x-456 语句。 不光整数,小数也可以设置累加字段。...Article.FindByID内部可以用对象缓存,然后每台应用服务器10秒(默认缓存时间)内多线程查到都是同一个entity对象。

1.7K10

Hibernate框架学习之注解映射实体类

本篇主要涉及以下内容: 使用最基本注解映射一个实体类 使用注解映射属性 使用注解映射主键 其他特殊类型属性映射 一、使用最基本注解映射一个实体类 @Entity @Table(name = "userInfo...对于枚举类型属性,我们可以使用@Enumerated注解进行修饰。 在某些特殊情况下,有时我们实体类属性会被定义为枚举类型,那么对于这种数据库中并无法对应Java类型,该如何映射呢?...总的来说,一旦hibernate发现实体类中有集合类型属性需要映射,那么就会为集合属性单独映射出一张表,该表至少有两个字段,一个字段依赖于主表id字段值,新表中相同该字段记录共同组合成为实体类中集合属性值...2、组件属性映射 所谓组件类型就是指我们自定义类型某些情况下,实体类中包含自定类型也是很常见,那么对于我们自定义类型如何来映射到数据表呢?...组件类每个属性都被映射到userinfo表中了。当我们通过实体类实例数据表中插入数据时候,hibernate会将组件类实例拆分出来各个属性插入到对应字段

3K90

01-EF Core笔记之创建模型

数据标注方式比较简单,类或字段上添加特性标注即可,对实体类型有一定入侵。...注意:如果CLR中属性不能为null,则无论如何配置都将为必填。 也就是说,如果能为null,则默认都是可空字段,因此配置,只需要配置是否为必填即可。...原理大致是数据库中每行数据包含一个并发令牌字段,对改行数据更新都会出发令牌改变,发生并行更新,系统会判断令牌是否匹配,如果不匹配则认为数据已发生变更,此时会抛出异常,造成更新失败。...使用有参构造函数需要注意: 参数名应与属性名字、类型相匹配 如果参数中不具有所有字段,则在调用构造函数完成后,对未包含字段进行赋值 使用懒加载,构造函数需要能够被代理类访问到,因此需要构造函数为public...或protected 暂不支持构造函数中使用导航属性 使用构造函数,比较好玩是支持依赖注入,我们可以构造函数中注入DbContext、IEntityType、ILazyLoader、Action

3K20

hibernate官方新手教程 (转载)

(getter and setter method) 使用标准JavaBean命名约定,同一候把内部字段(field)隐藏起来(private visibility)。...假设映射參数没有设置的话,Hibernate也将尝试去确定正确类型转换和它映射类型某些情况下这个自己主动检測(Java class上使用反射机制)不会产生你所期待或者 须要缺省值。...值类型集合 我们把一个值类型对象集合�Person。...,区别主要在element部分这次并没有包含对其他实体类型引用,而是使用一个元素类型是 String集合(这里使用小写名字是向你表明它是一个Hibernate映射类型或者类型转换器)。...,同一使用了2个字段

99320

SpringBoot系列教程JPA之新增记录使用姿势

如何添加数据 通过本篇文章,你可以get到以下技能点 POJO对象如何与表关联 如何DB中添加单条记录 如何批量DB中添加记录 save 与 saveAndFlush区别 <!...这个POJO中怎么体现 一个表包含另一个表主键(主键关联,外键)等特殊情况,POJO中有体现么?...插入时默认值支持方式 创建表时候,我们知道字段都有默认值,那么如果PO对象中某个成员我不传,可以插入成功么?会是默认DB值么?...JPA规范中,并不是所有的类型属性都可以持久化,下表列举了可映射为持久化属性类型: 分类 类型 基本类型 byte、int、short、long、boolean、char、float、double...sql方式插入 指定id查询几种case 此外本文还留了几个坑没有填 POJO成员类型与表列类型更灵活转换怎么玩?

1.3K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券