实体类

通过反射遍历实体类的属性并得到属性值集合

匿名 (未验证) 提交于 2019-12-03 00:22:01
封装成一个方法: // 通过反射遍历实体类的属性并得到属性值集合,去除业务无关主键值 public static List<String> getContentsList(Object model) throws Exception { List<String> values = new ArrayList<String>() ; // 获取实体类的所有属性,返回Field数组 Field[] field = model .getClass () .getDeclaredFields () ; // 遍历所有属性 for (int j = 0 ; j < field.length; j++) { // 获取属性的名字 String name = field[j] .getName () ; // 过滤掉id/createDate/creater属性 if (!( "id" .equals (name))) { // 将属性的首字符大写,方便构造get, set 方法 name = name .substring ( 0 , 1 ) .toUpperCase () + name .substring ( 1 ) ; // 获取属性的类型 String type = field[j] .getGenericType () .toString () ; // System .out

List父子节点构造树形Json

匿名 (未验证) 提交于 2019-12-03 00:22:01
List父子节点构造树形Json 一、博主自言 二、输入输出 输入数据 输入数据中包含多个父子节点。 输出数据格式 这是用工具类获取到的 JSON 输出数据 , 可以看到包含多个子节点的树形 JSON 数据 . 三、主要代码实现 工具 主要用的了.使用的是阿里的fastjson jar包。 代码实现 这里的代码测试数据主要是以城市和城市里的区以及区中地点为例,树形结构有三级。可以查看输入参数。 对象实体类 测试数据以及工具类 这里我都是放在工具类里面的,大家见谅哈。 Controller方法调用 运行后输出 基本上主要的代码就是上面那些了。 四、备注赠言 1.使用的是阿里的fastjson jar包 2.实体类中不能有list否则将实体类对象加入list中list数据会丢失得用数组对象才能解决问题 3.本套工具适合list中包含多个父子节点 扩展性非常强 五、下载地址 Jar 包,工具类,实体类等我都已经上传了,大家可直接下载使用。 download: https://download.csdn.net/download/qq_25814003/10449096 文章来源: List父子节点构造树形Json

@RequestBody的使用

匿名 (未验证) 提交于 2019-12-03 00:17:01
注:一个请求,只有一个RequestBody;一个请求,可以有多个RequestParam。 如果后端参数是一个对象,且该参数前是以@RequestBody修饰的,那么前端传递json参数时,必须满足以下要求: 后端@RequestBody注解对应的类在将HTTP的输入流(含请求体)装配到目标类(即:@RequestBody后面的类)时,会根据json字符串中的key来匹配对应实体类的属性,如果匹配一致且json中的该key对应的值符合(或可转换为),这一条我会在下面详细分析,其他的都可简单略过,但是本文末的核心逻辑代码以及几个结论一定要看! 实体类的对应属性的类型要求时,会调用实体类的setter方法将值赋给该属性。 json字符串中,如果value为""的话,后端对应属性如果是String类型的,那么接受到的就是"",如果是后端属性的类型是Integer、Double等类型,那么接收到的就是null。 json字符串中,如果value为null的话,后端对应收到的就是null。 注:关于@RequestParam()的用法,这里就不再一一说明了,可详见 《程序员成长笔记(一)》中的相关章节。 示例详细说明:先给出两个等下要用到的实体类 User实体类: Team实体类: @RequestBody直接以String接收前端传过来的json数据: 后端对应的Controller:

SpringBoot 基本web开发demo

匿名 (未验证) 提交于 2019-12-03 00:17:01
1.在创建的springboot项目中的pom.xml中导入Lombok的依赖 < dependency > groupId >org.projectlombok</ groupId > artifactId >lombok</ artifactId > version >1.18.6</ version > </ dependency > 2.安装Lombok插件 3.在主启动类的同级创建实体类的包,在包中创建实体类,并在实体类上使用Lombok package com.hxy.bean; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; @Data //替代了getter、setter和toString方法 @AllArgsConstructor //创建所有参数的有参构造函数 @NoArgsConstructor //创建无参构造函数 public class Car { } 4.在在主启动类的同级创建控制层的包,并创建controller类 package com.hxy.controller;

封装1

匿名 (未验证) 提交于 2019-12-03 00:08:02
package 封装; /* 面向对象三大特征: 1. 封装 2. 继承 3 多态。 需求: 使用java类描述百合网的会员。 问题: 性别有问题?? 根本原因: 由于其他人可以直接操作sex属性。可以对sex属性进行了直接的赋值。 封装: 权限修饰符:权限修饰符就是控制变量可见范围的。 public : 公共的。 public修饰的成员变量或者方法任何人都可以直接访问。 private : 私有的, private修饰的成员变量或者方法只能在本类中进行直接访问。 封装的步骤: 1. 使用private修饰需要被封装的属性。 2. 提供一个公共的方法设置或者获取该私有的成员属性。 命名规范: set属性名(); get属性名(); 疑问: 封装一定要提供get或者set方法吗? 不一定, 根据需求而定的。 规范 : 在现实开发中一般实体类的所有成员属性(成员变量)都要封装起来。 实体类:实体类就是用于描述一类 事物的就称作为实体类。 工具类(Arrays数组的工具类): 封装的好处: 1. 提高数据的安全性。 2. 操作简单。 3. 隐藏了实现。 */ class Member{ public String name; //名字 private String sex; //性别 public int salary; //薪水 //定义一个公共的方法设置sex属性,有参无返回值的方法

pageBean的实体类

匿名 (未验证) 提交于 2019-12-03 00:03:02
package com.hopetesting.domain;import java.util.List;/** * @author newcityman * @date 2019/9/7 - 19:19 */public class PageBean<T>{ private int totalCount; //总记录数 private int totalPage; //总页码 private int rows; //每页显示的记录数 private int currentPage; //当前页 private List<T> list; //每页的数据 public PageBean() { } public PageBean(int totalCount, int totalPage, int rows, int currentPage, List<T> list) { this.totalCount = totalCount; this.totalPage = totalPage; this.rows = rows; this.currentPage = currentPage; this.list = list; } public int getTotalCount() { return totalCount; } public void setTotalCount(int

序列化在实体类的常用用法

匿名 (未验证) 提交于 2019-12-03 00:03:02
//@JsonIgnoreProperties 后面写上不参与序列化的值 @JsonIgnoreProperties ( value = { "id" , "segmentId" , "createDate" , "modifyDate" , "isDelete" } ) public class Profile { private Integer id ; private String userId ; //@JsonProperty("userid")指定序列化的名称 @JsonProperty ( "userid" ) private Integer outUserId ; @JsonProperty ( "truename" ) private String trueName ; @JsonProperty ( "kidname" ) private String kidName ; @JsonProperty ( "alongwith" ) private Byte alongWith ; @JsonProperty ( "childscount" ) private Byte childCount ; @JsonProperty ( "childgender" ) private Byte childGender ; //@JsonFormat适用于时间格式上的转化

[开源] FreeSql.AdminLTE 功能升级

匿名 (未验证) 提交于 2019-12-02 23:57:01
FreeSql 发布至今已经有9个月,功能渐渐完善,自身的生态也逐步形成,早在几个月前写过一篇文章 《ORM 开发环境之利器:MVC 中间件 FreeSql.AdminLTE》 ,您可以先阅读上一篇文章内容了解来龙去脉,再回到这里观看。 我个人非常喜欢小规模团队的”单打独斗”,有的时候即使在大公司,也是做着3-5个人团队的小项目,相信不少人有类似的经历。 从上一篇文章可以看出,早先的 FreeSql.AdminLTE 只不过是花瓶,应用场景非常有限,仅仅在开发环境时管理测试数据的用途,这之后的几个月其实我基本没使用它。。。是不是很尴尬?? 本次功能升级情况有所改观,且先看完本文内容。 我喜欢已有的管理功能,希望可以在默认产生的功能上进行二次开发; 我喜欢尽量简单,容易上手,二次开发难度别要太大。 说到开源还是先贴上源码仓库吧: https://github.com/2881099/FreeSql.AdminLTE ,主项目 FreeSql 目前有900多星,欢迎同时给赞,谢谢! 对于通用后台管理系统的生成,除了单纯的对单表 crud 操作外,我还喜欢有外键的操作,比如: 1、Song、Tag 多对多场景,添加/更新 Song 时可以把 Tag 一起保存; 2、列表页,希望外键、多对多出现在过滤筛选条件; 3、列表页,希望枚举出现在过滤筛选条件; 等等诸如此类的繁琐操作,之所以说繁琐