entity

《SpringBoot判空处理》揭开@Valid与@Validated的面纱

旧街凉风 提交于 2020-08-19 17:42:28
一、事有起因   我们在与前端交互的时候,一般会遇到字段格式校验及非空非null的校验,在没有SpringBoot注解的时候, 我们可能会在service进行处理: if ( null == name){ throw new BizException("-1", "用户名不能用空" ); }   要是有20个字段需要插入,那我们岂不需要书写20遍这样的代码,当然这种事最直接的解决方式,但作为程序员,我们 首要的任务是要能完成需求到代码的转化,同时还要不断思考如何更加丝滑的写代码,不要重复造轮子。在进入正题之前我们 先认识以下3位老朋友: entity 用于抽象数据库中的字段,不断任何处理 dto/vo/bean 作为前端数据与数据库的桥梁,一般我们是一个接口,一个dto,我们的判空也是需要结合dto处理 controller 用于接受前端的请求,我们的判空也是在controller层进行的   就此我们正式的开始探索Valid与Validated的旅程 二、判空逻辑的具体实现 2.1、使用的包及注解 2.2、注解的含义 @Null              被注释的元素必须为 null @NotNull          被注释的元素必须不为 null @AssertTrue         被注释的元素必须为 true @AssertFalse         被注释的元素必须为

ORM Dapper之DapperExtensions使用

筅森魡賤 提交于 2020-08-19 17:14:53
介绍下使用Dapper-Extensions的基本语法 //实体类 DemoEntity entity = new DemoEntity(); //根据实体主键删除 this.Delete<DemoEntity>(entity); //根据主键ID删除 this.Delete<DemoEntity>(1); //增加 this.Insert<DemoEntity>(entity); //更新 bool result = this.Update<DemoEntity>(entity); //根据主键返回实体 entity = this.GetById<DemoEntity>(1); //返回 行数 this.Count<DemoEntity>(new { ID = 1 }); //查询所有 IEnumerable<DemoEntity> list = this.GetAll<DemoEntity>(); IList<ISort> sort = new List<ISort>(); sort.Add(new Sort { PropertyName = "ID", Ascending = false }); //条件查询 list = this.GetList<DemoEntity>(new { ID = 1, Name = "123" }, sort); //orm 拼接条件 查询

Command and Query Responsibility Segregation (CQRS) pattern

☆樱花仙子☆ 提交于 2020-08-18 06:49:46
Command and Query Responsibility Segregation (CQRS) pattern The Command and Query Responsibility Segregation (CQRS) pattern separates read and update operations for a data store. Implementing CQRS in your application can maximize its performance, scalability, and security. The flexibility created by migrating to CQRS allows a system to better evolve over time and prevents update commands from causing merge conflicts at the domain level. The problem In traditional architectures, the same data model is used to query and update a database. That's simple and works well for basic CRUD operations.

如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

可紊 提交于 2020-08-18 03:56:32
本系列所有文章 如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念 如何一步一步用DDD设计一个电商网站(二)—— 项目架构 如何一步一步用DDD设计一个电商网站(三)—— 初涉核心域 如何一步一步用DDD设计一个电商网站(四)—— 把商品卖给用户 如何一步一步用DDD设计一个电商网站(五)—— 停下脚步,重新出发 如何一步一步用DDD设计一个电商网站(六)—— 给购物车加点料,集成售价上下文 如何一步一步用DDD设计一个电商网站(七)—— 实现售价上下文 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车 如何一步一步用DDD设计一个电商网站(十一)—— 最后的准备 如何一步一步用DDD设计一个电商网站(十二)—— 提交并生成订单 如何一步一步用DDD设计一个电商网站(十三)—— 领域事件扩展 阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一、前言    在上一篇中( 如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成 ),有一行注释的代码: public interface IRoleDiscountRelationRepository // : IRepository

Spring Data JPA 之 一对一,一对多,多对多 关系映射

最后都变了- 提交于 2020-08-17 20:19:39
一、@OneToOne关系映射 JPA 使用@OneToOne来标注一对一的关系。 实体 People :用户。 实体 Address:家庭住址。 People 和 Address 是一对一的关系。 这里用两种方式描述 JPA 的一对一关系。 一种是通过外键的方式(一个实体通过外键关联到另一个实体的主键); 另外一种是通过一张关联表来保存两个实体一对一的关系。 1、通过外键的方式 people 表(id,name,sex,birthday,address_id) address 表(id,phone,zipcode,address) People.java @Entity public class People { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", nullable = false) private Long id; //id @Column(name = "name", nullable = true, length = 20) private String name; //姓名 @Column(name = "sex", nullable = true, length = 1) private String sex; //性别 @Column(name =

聊聊puma的ClientPositionService

白昼怎懂夜的黑 提交于 2020-08-17 18:33:03
序 本文主要研究一下puma的ClientPositionService ClientPositionService puma/puma/src/main/java/com/dianping/puma/biz/service/ClientPositionService.java public interface ClientPositionService { List<ClientPositionEntity> findAll(); ClientPositionEntity find(String clientName); void update(ClientPositionEntity clientPositionEntity, boolean flush); void flush(); void cleanUpTestClients(); } ClientPositionService定义了findAll、find、update、flush、cleanUpTestClients方法 ClientPositionServiceImpl puma/puma/src/main/java/com/dianping/puma/biz/service/impl/ClientPositionServiceImpl.java @Service public class

带请求正文的HTTP GET

时光怂恿深爱的人放手 提交于 2020-08-17 17:33:49
问题: I'm developing a new RESTful webservice for our application. 我正在为我们的应用程序开发新的RESTful Web服务。 When doing a GET on certain entities, clients can request the contents of the entity. 在某些实体上执行GET时,客户端可以请求实体的内容。 If they want to add some parameters (for example sorting a list) they can add these parameters in the query string. 如果他们想添加一些参数(例如,对列表进行排序),则可以在查询字符串中添加这些参数。 Alternatively I want people to be able to specify these parameters in the request body. 另外,我希望人们能够在请求正文中指定这些参数。 HTTP/1.1 does not seem to explicitly forbid this. HTTP / 1.1 似乎没有明确禁止这样做。 This will allow them to specify more information