一、问题起因 我们经常会遇到表字段和实体类属性不一致问题,因为在sql中表的字段命名规则是每个单词用下划线隔开,而java中实体类属性的命名规则是每个单词直接采取驼峰命名,这样就会经常导致不一致问题...二、不一致问题展示 表字段 实体类字段 @Data public class Test implements Serializable { private static final long...com.wang.test.demo.entity.Test"> select id,name,state,create_time createTime from test 第二种:使用...VARCHAR"/> select * from test 第三种:使用...map来直接接(不建议使用,破坏了ORM映射规则) select * from test 四、总结
默认规则: 实体类字段:驼峰式命名 数据库表字段:使用 “_” 区分各个单词用法:在 @Column 注解的 name 属性中指定目标字段的字段名 @ld 通用 Mapper 在执行 xxxByPrimaryKey...情况1:没有使用 @ld 注解明确指定主键字段 情况2:使用 @ld 主键明确标记和数据库表中主键字段对应的实体类字段。...,只能有一个返回值有多个结果是抛出异常,查询条件使用等号 SelectMapper List select(T record) 根据实体中的属性值进行查询,查询条件使用等号 SelectAllMapper...根据主键更新实体全部字段,null 值会被更新 UpdateByPrimaryKeySelectiveMapper int updateByPrimaryKeySelective(T record...) 根据主键更新属性不为 null 的值 DeleteMapper int delete(T record) 根据实体属性作为条件进行删除,查询条件使用等号 DeleteByPrimaryKeyMapper
Response Header Fields) 实体首部字段( Entity Header Fields) 二、通用首部字段 通用首部字段指的是请求报文和响应报文两方都会使用的首部。...(ETag) If-Modified-Since 比较资源的更新时间 If-None-Match 比较实体标记(与If-Match相反) If-Range 资源未更新时发送实体Byte的范围请求 If-Unmodified-Since...比较资源的更新时间(与If-Modified-Since相反) Max-Forwards 最大传输逐跳数,配合 TRACE 请求使用 Proxy-Authorization 逐跳首部字段,代理服务器要求客户端的认证信息...实体首部字段指的是针对请求报文和响应报文的实体部分使用的首部。...补充了资源内容更新时间等与实体有关的信息。
. 6.建议一定是有一个@Id注解作为主键的字段,可以有多个@Id注解的字段作为联合主键. 7.默认情况下,实体类中如果不存在包含@Id注解的字段,所有的字段都会作为主键字段进行使用(这种效率极低)....8.实体类可以继承使用,可以参考测试代码中的tk.mybatis.mapper.model.UserLogin2类. 9.由于基本类型,如int作为实体类字段时会有默认值0,而且无法消除,所以实体类中建议不要使用基本类型...@NameStyle注解,用来配置对象名/字段和表名/字段之间的转换方式,该注解优先于全局配置style,可选值: normal:使用实体类名/属性名作为表名/字段名 camelhump:这是默认值...> 方法:int updateByPrimaryKey(T record); 说明:根据主键更新实体全部字段,null值会被更新 结果: 会把没有值的属性变成空请自行实验 2.UpdateByPrimaryKeySelectiveMapper...更新.png Delete 1.DeleteMapper 接口:DeleteMapper 方法:int delete(T record); 说明:根据实体属性作为条件进行删除,查询条件使用等号
本帖子想要达到的效果: 会配置实体服务规则(能用实体服务规则实现的,尽量选用实体服务规则实现), 设置实体服务规则的字段必然触发条件, 小数类型的 可以实现向下取整、四舍五入、向上取整 功能。...单据头添加实体服务规则: image.png 实体服务规则,小数字段改变,触发相应的3个字段取数 (如果是值更新方式实现,需要配置小数字段的3个值更新服务, 并且如果涉及到多个字段每个字段都需要配置值更新..., 如配置实体服务规则,清晰明了), image.png 前提条件:小数字段改变条件 小数=小数 字段必然触发条件 这里经常有人会问到设置成 1=1,这样设置是不会进行执行的, 因为实体服务规则的是否需要执行...,是需要先判断某个字段值改变了,相应的字段标识是否设置在了实体服务规则的前提条件中, 如在里面,才会进行解析判断前提条件,显然 设置1=1 是不包含任何字段的标识,也就相当于一条无用的实体服务规则配置。...因此我们就变通下,因为 向下取整和四舍五入是可以直接使用的, 通过四舍五入与向下取整做的一个变通,实现向上取整。 image.png 完 谢谢。
在响应中,HTTP 报文由 HTTP 版本、状态码(数字和原因短语)、HTTP 首部字段 3 部分构成 HTTP 首部字段 HTTP 首部字段是由首部字段名和字段值构成的,中间用冒号“:” 分隔。...响应首部字段( Response Header Fields) 实体首部字段( Entity Header Fields) HTTP/1.1 首部字段一览 Cache-Control 控制缓存行为 Connection...(ETag) If-Modified-Since 比较资源的更新时间 If-None-Match 比较实体标记(与 If-Match 相反) If-Range 资源未更新时发送实体 Byte 的范围请求...If-Unmodified-Since 比较资源的更新时间(与If-Modified-Since相反) Max-Forwards 最大传输逐跳数 Proxy-Authorization 代理服务器要求客户端的认证信息...、 Set-Cookie 和 Content-Disposition 等在其他 RFC 中定义的首部字段,它们的使用频率也很高 End-to-end 首部和 Hop-by-hop 首部 端到端首部( End-to-end
菜单和权限页面的树形结构,有几个特点:没有使用路径字段,只有简单的ParentID字段;菜单互相嵌套不会死循环,使用栈代替递归构造菜单树;不会大量读取数据库,因为有实体缓存,不仅缓存了每一个实体,还缓存了整颗树...Meta增加OnDataChange的数据改变事件,并使用弱引用,当该实体有数据改变后,触发事件,可用于在外部清楚该对象的缓存 * (重要更新)实体基类增加字典缓存Extends...Sort,可用于多个字段排序 * 修复快速访问方法、属性和字段所存在的问题,在实体基类索引器使用 * * v5.9.2010.1020 修正Database...Entity中,增加ToString重载,默认显示Name属性 * Entity中,Update时,增加了脏数据的判断,非脏数据的字段不更新...数据架构可以实现通过实体类反向更新数据库结构,不启用时,仅把更新SQL写入日志 * 修正Access类使用当前目录时拼接路径的错误。
本文将解释 Rafy 框架中的时间戳插件的场景、使用方法、原理。 场景 在开发各类数据库应用系统时,业务领域实体往往需要包含“创建时间”、“最后更新时间”、“创建人”、“最后更新人”等跟踪戳属性。...这些属性是领域实体的基本属性,几乎所有的领域业务操作都会使用到这些属性,如:创建业务数据肯定会保存创建时间、创建人;更新业务数据需要记录最后更新时间;查询业务数据需要显示创建人等。...运行程序后,数据库中的字段,已经自动添加上跟踪戳字段了: ? 执行保存实体时,框架自动给跟踪戳字段赋值。...在添加、更新实体时,设置实体的跟踪戳。...,并在添加、更新实体时,设置实体的跟踪戳。
重点在于HTTP首部字段。 HTTP首部字段 HTTP 首部字段是构成 HTTP 报文的要素之一,使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用的语言、认证信息等内容。...首部字段名: 字段值 首部字段的分类 通用首部字段 请求首部字段 响应首部字段 实体首部字段 下面就来详细的介绍一下这几种不同的首部字段。...实体首部字段 实体首部字段是包含在请求报文和响应报文中的实体部分所使用的首部,用于补充内容的更新时间等与实体相关的信息。 ?...Set-Cookie字段 这个字段适用于设置Cookie,建立持久化连接使用。...实体首部字段是包含在请求报文和响应报文中的实体部分所使用的首 部,用于补充内容的更新时间等与实体相关的信息。 ? 部分内容参考:《图解HTTP》
GenerateTime"); } set { setProperty("GenerateTime", value); } } } } 之后,便可以这样使用实体类...,可以选取实体类指定的字段,而不是一次选取全部字段。...这对于一个拥有大字段的表来说很有用。字段的选取都是通过实体类对象.属性 的方式,完全面向对象,用起来有点像LINQ,呵呵。 为啥说读取数据不需要反射?... utlReport.FundAccount = "1234234242423"; EntityQuery.Save(utlReport); 你本次更新了多少个字段...,框架只会生成要更新的字段的SQL语句,整个框架可以完全不使用反射来处理数据,保证了数据更新的效率。
有些业务数据需要对数据的创建人、创建时间、最后更新人和最后更新时间进行记录。如果使用Spring Data Jpa做数据新增或更新,可实现自动保存这些信息而不需要显式设置对应字段的值。...标记数据创建者属性 @LastModifiedBy:标记数据最近一次修改者属性 @CreatedDate:标记数据创建日期属性 @LastModifiedDate:标记数据最近一次修改日期属性 依赖引用 使用...案例使用User实体演示过程,需要在实体对应的字段上添加对应的注解表示是审计属性,另外需要在实体类上开启审计监听,如下: @Entity @Table(name = "t_user") @EntityListeners...实体操作 定义User实体类的JPA操作接口UserRepository如下 @Repository public interface UserRepository extends PagingAndSortingRepository..., JpaRepository { } 经过以上步骤再使用UserRepository保存User信息时,就会自动更新创建人,创建时间,更新人和更新时间者四个字段
Wrapper的抽象子类AbstractWrapper中定义了各种条件参数 拼接SQL语句使用的是数据库字段,而不是Java实体类的属性 AbstractWrapper中所有查询条件的含义可以查看官方文档中的...:" + updateCount); } update传入一个实体类 根据执行的SQL语句来看,MyBatis Plus将传入的实体类的属性值作为更新后的字段的值,SQL语句中set关键字后面有两个...,说明UpdateWrapper的set方法设置的更新字段的值没有被实体类的price覆盖。...如果更新的更新的字段比较少,可以在QueryWrapper中使用set方法进行设置更新后的字段的值,如果需要更新的字段比较多,建议new一个对象,将需要更新的字段值设置到对象对应的属性中去。...MyBatis Plus构造查询条件使用的是数据库的字段。
前言碎语 前一篇博文,我们已经使用jhipster搭建好了一个spring boot+angular的项目,包括账户体系和管理监控等基础功能!...这里主要分为5个个步骤 第一个步骤是生成相关字段和字段属性,步骤如下: Do you want to add a field to your entity?...(Y/N)是否添加字段 What is the name of your field?(输入)字段名称 What is the type of your field?...(输入)另一个实体中关系的名称 同样,1-6完成后会回到1,询问你是否继续添加Entity关联关系,选N结束实体的相关进入到下一个步骤 第三个步骤,确定是否使用DTO通道?...所以,实体相关的就交给jhipster吧,开发人员只要关心业务实现就好 ps:实体生成后,就博主目前了解,没有相关delete的 指令,只可以添加/更新字段和更新实体关联关系,使用 yo jhipster
开源地址:https://github.com/NewLifeX/X (求star, 729+) 什么是脏数据 在XCode中,每次执行实体类更新entity.Update时,都希望只更新修改过的字段,...脏数据是生成Update语句的核心,不脏的字段不会出现在update set 之中,从而实现部分字段更新。...),比较到小数点后6位 Decimal比较到小数点后12位 使用代码来表达,大概是下面的样子: ?...最终生成的update set语句,只包含带有脏数据的字段。最后的where部分,则由主键组成。 使用脏数据 脏数据最常见于数据验证Valid中,可以用来判断某个属性否则曾经被修改过 ?...因此,脏数据往往用于给字段设置默认值。除了可用于实体类Valid,还可以用于实体过滤器EntityModule.Valid。
这种场景一般用在 left join 时,有多出了实体类本身的字段内容,可以转换为 dto、vo 等场景。...selectListWithRelationsByQuery(queryWrapper):查询实体类及其 Relation 注解字段。...selectListWithRelationsByQueryAs(queryWrapper, asType):查询实体类及其 Relation 注解字段。...insertBatch(entities):批量插入实体类数据,只会根据第一条数据来构建插入的字段内容。...基础的更新 update(entity):根据主键来更新数据,若实体类属性数据为 null,该属性不会更新到数据库。
[] 否 {} 需要排除的属性名 @since 3.3.1 @TableId: 描述:主键注解,标识实体类中的主键字段 使用位置:实体类的主键字段 @TableName("user") public...比如:order => `order` 实体类有该变量,但是数据库没有该字段(不属于数据库的字段),使用exist = false 来标记它不属于数据库字段 属性 类型 必填 默认值 描述 value...,影响查询效率 解决方案:可以采用把删除数据迁移到其它表 4.4.通用枚举 假如我们实体类需要使用枚举字段,但是数据库对应字段是一个int类型,因此我们需要进行类型转换,而MP提供了对应的转换功能...例如处理JSON就可以使用JacksonTypeHandler处理器 使用方式: 在要转JSON对应的实体类字段上加@TableField(typeHandler = JacksonTypeHandler.class...注意: 使用多个分页插件的时候需要注意插件定义顺序,建议使用顺序如下: 多租户,动态表名 分页,乐观锁 sql 性能规范,防止全表更新与删除 这里介绍的是分页插件: 使用步骤: 配置类中注册插件
实体首部字段(Entity Header Fields) 针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体相关的信息。...比较资源的更新时间 If-None-Match 比较实体标记(与 If-Match 相反) If-Range 资源未更新时发送实体 Byte 的范围请求 If-Unmodified-Since 比较资源的更新时间...首部字段 If-Match,属附带条件之一,它会告知服务器匹配资源所用 的实体标记(ETag)值。这时的服务器无法使用弱 ETag 值。...Content-Language Content-Language: zh-CN 首部字段 Content-Language 会告知客户端,实体主体使用的自然语言 (指中文或英文等语言)。 17....对实体主体进行内容编码传输时,不能再使用 Content-Length 首部字段 18.
@Entity 标注于实体类上,通常和@Table是结合使用的,代表是该类是实体类 @Table 标注于实体类上,表示该类映射到数据库中的表,没有指定名称的话就表示与数据库中表名为该类的简单类名的表名相对应...@Table 当实体类与其映射的数据库表名不同名时需要使用 @Table 标注说明,该标注与 @Entity 标注并列使用,置于实体类声明语句之前,可写于单独语句行,也可与声明语句同行。 ...updateable:表示在ORM框架执行更新操作时,该字段是否应该出现在UPDATE语句中,默认为true。对于一经创建就不可以更改的字段,该属性非常有用,如对于birthday字段。 ...fetch:表示抓取策略,默认为FetchType.LAZY,因为关联的多个对象通常不必从数据库预先读取到内存 可选 cascade:表示级联操作策略,对于OneToMany类型的关联非常重要,通常该实体更新或删除时...,其关联的实体也应当被更新或删除 例如:实体User和Order是OneToMany的关系,则实体User被删除时,其关联的实体Order也应该被全部删除 @ManyToMany 描述一个多对多的关联
这个注解在实体类中只存在一个。 // value:指定对应表中的字段名,当声明的属性名和表中的字段名一致的时候可以省略不写。...// 如果不使用 exist 进行忽略,那么必须使用value让它对应表中的某个字段才可以。...对添加了注解 @tablefield(fill = fieldfill.insert_update) 的字段在进行插入和更新时进行自动填充。...*/ @TableField(fill = FieldFill.INSERT) private date gmtCreat; /** * 修改人 */ // 该属性对应的数据表中的字段值会在插入和更新的时候自动填充...,在执行插入或者更新时就能自动赋值并插入数据库。
Meta.Factory.AdditionalFields用于存放累加字段 一般更新语句 update user set Logins=123 where id=1,而把Logins字段设为累加字段后,...实体基类 当然,实体类静态构造函数还可以用于其它用途,它将会在使用该实体类任意方法(包括成员方法和静态方法)之前执行。...脏数据是生成Update语句的核心,不脏的字段不会出现在update set 之中,实现部分字段更新,后续有专门章节讲解。...建立表格字段和索引,名字以及数据类型规范,推荐字段(时间,用户,IP) 实体类详解。数据类业务类,泛型基类,接口 功能设置。连接字符串,调试开关,SQL日志,慢日志,参数化,执行超时。...Sql缓存,更新机制 实体缓存。全表整理缓存,更新机制 对象缓存。字典缓存,适用用户等数据较多场景。 百亿级性能。字段精炼,索引完备,合理查询,充分利用缓存 实体工厂。元数据,通用处理程序 角色权限。