关于基本数据类型与包装数据类型的使用标准如下: 1) 【强制】所有的 POJO 类属性必须使用包装数据类型。 2) 【强制】RPC 方法的返回值和参数必须使用包装数据类型。...反例:比如显示成交总额涨跌情况,即正负 x%,x 为基本数据类型,调用的 RPC 服务,调用 不成功时,返回的是默认值,页面显示为 0%,这是不合理的,应该显示成中划线。...反例:POJO 类的 gmtCreate 默认值为 new Date();但是这个属性在数据提取时并没有置入具 体值,在更新其它字段时又附带更新了此字段,导致创建时间被修改成当前时间。 10....【强制】POJO 类必须写 toString 方法。...【推荐】当一个类有多个构造方法,或者多个同名方法,这些方法应该按顺序放置在一起,便于阅读,此条规则优先于第 15 条规则。 15.
比如本次监控大盘更新消息发送结果的时候,之前代码逻辑是new了MessageRecordPO然后去更新,但是更改了逻辑,用了select先从库里查出来。...调c,c调d,d调f 特别糟糕 应该是有一个主方法: a 调 b,c,d,f 提供代码质量:一开始进行类设计的时候没有梳理好,没有想清楚每个类和方法的职能, 就是一条线顺着写下去,a方法调b,b...14.包装类和基本数据类型的使用。包装类:所有的 POJO 类属性必须使用包装数据类型。RPC 方法的返回值和参数必须使用包装数据类型。基本数据类型:所有的局部变量使用基本数据类型。...为什么会把已经终态的数据从新扫描出来。 2.现阶段其实学习太多没有呢么重要,重要的是多思考,把事情想明白和透彻。总结和输出文档的时候,把事情想明白说明白的时候都是思考的过程。...包装类和基本数据类型的使用。包装类:所有的 POJO 类属性必须使用包装数据类型。RPC 方法的返回值和参数必须使用包装数据类型。基本数据类型:所有的局部变量使用基本数据类型。
8.3 复合主键的映射 复合主键的映射有两种方法:单独定义主键类和不单独定义主键类,下面分别介绍: 8.3.1 单独定义主键类 单独定义主键类,即把主键的属性组成一个新的类,这个类与要映射的POJO类类似...第二部分 数据类型映射 在Hibernate的映射文件中,用标签来说明POJO类的属性与数据库表中的哪一个字段对应,用type属性说明对应属性应该使用什么数据类型。...在实际应用中,存在这样一种情况:有很多种学生,如研究生、本科生等,它们都有学生的基本属性,但又有各自的特殊属性,故适合使用继承来实现这样的对象模型。 例如,学生POJO类Xs.java代码为: ?...现在就要考虑继承关系在数据库中建表的问题了,这种情况可以有3中方法来设计数据库: 1.每个子类一个数据表 2.每个类一个数据表 3.共享一个数据库表 一 每个子类一个数据表 设计两张数据库表,分别是yjs...(1)在【实例8.5】基础上修改,Person表对应的POJO及其映射文件不用改变,现在来修改Room表对应的POJO类及其映射文件。对应的POJO类Room.java如下: ?
关于基本数据类型与包装数据类型的使用标准如下: 1) 【强制】所有的 POJO 类属性必须使用包装数据类型。 ...反例:比如显示成交总额涨跌情况,即正负 x%,x 为基本数据类型,调用的 RPC 服务,调用不成功时,返回的是默认值,页面显示为 0%,这是不合理的,应该显示成中划线。...反例:POJO 类的 gmtCreate 默认值为 new Date(),但是这个属性在数据提取时并没有置入具体值,在更新其它字段时又附带更新了此字段,导致创建时间被修改成当前时间。...【强制】POJO 类必须写 toString 方法。...【强制】禁止在 POJO 类中,同时存在对应属性 xxx 的 isXxx()和 getXxx()方法。
有问题:数据没查到 有个条件查询没生效,看了下原始的数据是匹配的。问题大概率是出在数据处理层面了。...为啥这种改动能生效,看下这个数据流: 所有数据都序列化为JSON字符串 在数据消费服务 重新反序列化为Java POJO, 此时1016就被当做字符串处理了。...数据消费服务拿到的数据是1016,用这个String去存就没有问题了 为什么会出现问题? 原因是EasyExcel在把Excel中的数据填到Java POJO时要做转换。...如果目标数据类型是String,则会触发下面的转换。 转换的标准与Excel中的完全一致。...当对应Java中存放这个单元格的数据类型是String,EasyExcel会使用Excel中的DataFormat把这个数值再格式化一下,就变成-1,016.00了。
POJO 类属性必须使用包装数据类型,RPC 方法的返回值和参数必须使用包装数据类型 所有的局部变量使用基本数据类型。...定义 DO / DTO / VO 等 POJO 类时,不要设定任何属性默认值 POJO 类必须写 toString 方法。...二方库里可以定义枚举类型,参数可以使用枚举类型,但是接口返回值不允许使用枚举类型,或包含枚举类型的pojo 依赖于一个二方库时,必须定义一个统一的版本,避免版本号的不一致。...方法的返回值可以为null,不强制返回空集合和空对象,必须添加注释说明什么情况下返回为空 其他 在使用正则表达式时要学会利用预编译,加快正则匹配速度,定义正则的时候不要在方法体内进行定义。...volocity调用POJO类属性的时候,建议直接使用属性名取值即可,模板引擎会自动按照规约调用Pojo的getXxx(),如果是boolean基本数据类型调用 isXxx(),如果Boolean包装对象
我的批注:相信有经验的开发者都应该知道字符串 String 比较肯定用的是 equals。 Java 世界里相等请用equals方法,== 表示对象相等,一般在框架开发中会用到。 8....【强制】POJO 类必须写 toString 方法。...【强制】禁止在 POJO 类中,同时存在对应属性 xxx 的 isXxx() 和 getXxx() 方法。...:一个对象应该对其他对象有最少的了解。...通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供的这么多public方法,我就调用这么多,其他的我一概不关心。
Schema是什么鬼 schema就是数据库对象的集合,这个集合包含了各种对象如:表、视图、存储过程、索引等。...就是说每个数据库映射的user有每个schema(房间)的钥匙。...decimal的存储需要额外的空间和计算开销,所以应该尽量只在对小数进行精确计算时才使用DECIMAL。...在数据量比较大的时候,可以考虑使用BIGINT代替DECIMAL,将对应的值扩大N倍。...大数据 blob: 数据类型:tinyblob、smallblob、blob、mediumblob、longblob 存储:采用二进制方式存储,无排序规则和字符集 text: 数据类型:tinytext
其实应用没什么复杂的,不过是把功能相关的代码放到一个文件夹里,这个文件夹就成了一个应用(姑且可以这样理解)。...我们把写好的文章永久地保存在数据库里,当用户访问我们的博客时,django 就去数据库里把这些数据取出来展现给用户。...一般情况下这时候我们应该先去学习数据库创建表格的语法,再回来写我们的博客程序了。...但是 django 跟我们说不用这么麻烦,我已经帮你做了一些事情,我把那一套数据库的语法转换成了 Python 的语法形式,你写你的 Python 代码就可以了,翻译的工作我来帮你。...这样,django 就可以把这个类翻译成数据库的语法,在数据库里创建一个名为 category 的表格,这个表格的一个列名为 name(即分类名),还有一个列 id 则会自动帮我们创建。
大家好,又见面了,我是你们的朋友全栈君。 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。...关于基本数据类型与包装数据类型的使用标准如下: 1) 【强制】所有的POJO类属性必须使用包装数据类型。 2) 【强制】RPC方法的返回值和参数必须使用包装数据类型。...反例:比如显示成交总额涨跌情况,即正负x%,x为基本数据类型,调用的RPC服务,调用不成功时,返回的是默认值,页面显示为0%,这是不合理的,应该显示成中划线。...反例:POJO类的gmtCreate默认值为new Date();但是这个属性在数据提取时并没有置入具体值,在更新其它字段时又附带更新了此字段,导致创建时间被修改成当前时间。...【强制】POJO类必须写toString方法。使用IDE的中工具:source> generate toString 时,如果继承了另一个POJO类,注意在前面加一下super.toString。
下面对《阿里巴巴Java开发手册-v1.1.0版》记录一些对我比较有启发的条款,提纲挈领,快速学习,方便还没有阅读的同学快速了解。...4、关于基本数据类型与包装数据类型的使用标准如下 1) 所有的POJO类属性必须使用包装数据类型 2) RPC方法的返回值和参数必须使用包装数据类型 3) 所有的局部变量【推荐】使用基本数据类型 POJO...6、POJO 类必须写 toString 方法 使用 IDE 的中工具:source> generate toString 时,如果继承了另一个 POJO 类,注意在前面加一下 super、toString...对于非稳定代码的catch尽可能进行区分 异常类型,再做对应的异常处理。 2、捕获异常是为了处理它,不要捕获了却什么都不处理而抛弃之 如果不想处理它,请将该异常抛给它的调用者。...13、iBATIS 自带的 queryForList(String statementName,int start,int size)不推荐使用 其实现方式是在数据库取到 statementName 对应的
反例:定义为基本数据类型 Boolean isDeleted 的属性,它的方法也是 isDeleted(),RPC框架在反向解 析的时候,“误以为”对应的属性名称是 deleted,导致属性获取不到,进而抛出异常...关于基本数据类型与包装数据类型的使用标准如下: 1) 【强制】所有的 POJO类属性必须使用包装数据类型。 2) 【强制】RPC 方法的返回值和参数必须使用包装数据类型。...所以包装数据类型的 null值,能 够表示额外的信息,如:远程调用失败,异常退出。 【强制】POJO类必须写toString方法。...说明:如果一本书需要知道第 11 章是什么标题,会翻开第 11 章对应的那一页吗?目录浏览一下就好,这 个目录就是起到覆盖索引的作用。...,也需要 定义;反过来,每一个表也必然有一个POJO类与之对应。
不知道大家第一眼看标题的时候有没有理解,什么是“字段类型长度”,这里我来解释下,就比如我们在MySQL建表的时候,比如下面这个建表语句:CREATE TABLE `user` ( `id` int(10...,而每个类型+数字就是该字段的类型长度,比如int(10)就是该字段是int类型长度为10,这下大家应该能理解什么是MySQL表字段类型长度了吧(其实在后续的讲解中会发现这个并不是长度,而是宽度)那么重点问题来了...,每一种类型后面括号里的数字都有什么含义呢,下面我们来剖析下:首先MySQL表的字段都支持哪些类型?...1 MySQL支持的数据类型1.1 类型分类分为几个大类:图片1.2 具体的数据类型细节数据类型如下:数值类型类型 大小(Bytes) 范围(有符号...(BLOB)数据类型语法最大尺寸 TINYBLOB 最多可以容纳 255 个字节。
反例:定义为基本数据类型 Boolean isDeleted 的属性,它的方法也是 isDeleted(),RPC框架在反向解 析的时候,“误以为”对应的属性名称是 deleted,导致属性获取不到,进而抛出异常...关于基本数据类型与包装数据类型的使用标准如下: 1) 【强制】所有的 POJO类属性必须使用包装数据类型。 2) 【强制】RPC 方法的返回值和参数必须使用包装数据类型。...所以包装数据类型的 null值,能 够表示额外的信息,如:远程调用失败,异常退出。 【强制】POJO类必须写toString方法。...说明:如果一本书需要知道第 11 章是什么标题,会翻开第 11 章对应的那一页吗?目录浏览一下就好,这 个目录就是起到覆盖索引的作用。...【强制】不要用resultClass当返回参数,即使所有类属性名与数据库字段一一对应,也需要 定义;反过来,每一个表也必然有一个POJO类与之对应。
反例:定义为基本数据类型 Boolean isDeleted 的属性,它的方法也是 isDeleted(),RPC 框架在反向解 析的时候,“误以为”对应的属性名称是 deleted,导致属性获取不到,...关于基本数据类型与包装数据类型的使用标准如下: 1.【强制】所有的 POJO 类属性必须使用包装数据类型。 2.【强制】RPC 方法的返回值和参数必须使用包装数据类型。 3....【推荐】防止 NPE,是程序员的基本修养,注意 NPE 产生的场景: 1) 返回类型为基本数据类型,return 包装数据类型的对象时,自动拆箱有可能产生 NPE。...看到这条日志你能做什么?能不能给问题排查带来好处? 19.【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint(1 表示是,0 表示否)。...【强制】不要用 resultClass 当返回参数,即使所有类属性名与数据库字段一一对应,也需要 定义;反过来,每一个表也必然有一个 POJO 类与之对应。
hive与关系数据库的区别,这部分可能有些人看的不是很明白,但是很有必要提前提出,以后我的文章里将进一步讲述hive,那时不太明白的童鞋在看看这部分,很多问题就会清晰很多,具体如下: 关系数据库里,表的加载模式是在数据加载时候强制确定的...(表的加载模式是指数据库存储数据的文件格式),如果加载数据时候发现加载的数据不符合模式,关系数据库则会拒绝加载数据,这个就叫“写时模式”,写时模式会在数据加载时候对数据模式进行检查校验的操作。...hive的数据类型 关系数据库里有表(table),分区,hive里也有这些东西,这些东西在hive技术里称为hive的数据模型。今天本文介绍hive的数据类型,数据模型以及文件存储格式。...hive是用java开发的,hive里的基本数据类型和java的基本数据类型也是一一对应的,除了string类型。...Hive的浮点数据类型FLOAT和DOUBLE,对应于java的基本类型float和double类型。而hive的BOOLEAN类型相当于java的基本数据类型boolean。
int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。...,d小数位 设一个字段定义为float(6,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位。...整数部分最大是3位,如果插入数12.123456,存储的是12.1234,如果插入12.12,存储的是12.1200. 定点数 浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。...自动存储记录修改时间 若定义一个字段为 timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间 数据类型的属性 MySQL关键字...Set 可达8 最大可达64个不同的值 使用建议 在指定数据类型的时候一般是采用从小原则,比如能用TINY INT的最好就不用INT,能用FLOAT类型的就不用DOUBLE类型,这样会对MYSQL在运行效率上提高很大
04 数据类型 创建表的时候,我们在类型这里给出了不同的选项,比如有int ,varchar。数据类型不同,储存的内容也不相同。...int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。...整数部分最大是3位,如果插入数12.123456,存储的是12.1234,如果插入12.12,存储的是12.1200. 定点数 浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。...自动存储记录修改时间 若定义一个字段为 timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间 数据类型的属性 MySQL关键字...Set 可达8 最大可达64个不同的值 使用建议 在指定数据类型的时候一般是采用从小原则,比如能用TINY INT的最好就不用INT,能用FLOAT类型的就不用DOUBLE类型,这样会对MYSQL在运行效率上提高很大
不管你学什么语言,在基础方面,都应该知道 1个字节= 8位二进制数。...还有一点,这个显示宽度没限制,你写100度没问题,但是插入数据时,实际起控制作用的还是数据类型的取值范围。...,也就是你写多少就是多少,而DECIMAL如不指定精度默认为(10,0),也就是如果不指定精度,插入数值56.89,在数据库中存储的就是57。...3.3、什么时候使用FLOAT、DOUBLE、DECIMAL 对精度要求比较高的时候,比如货币、科学数据等,使用DECIMAL的类型比较好。...以后遇到它我们就应该知道是什么东西 五、字符串类型 有CHAR、CARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT、ENUM、SET ?
"; 30 } 31 } 在我们将Student对象转换成JSON对象的时候,希望转换后的JSON格式应该是: 1 { 2 "id": 1, 3 "courseIds": [...或者在返回给客户端(浏览器)时候就直接暴露给了前端的Console控制台?...之后的通过这个类将一些方法过滤掉,例如getClass方法不是POJO中的方法,所以并不需要将它转换成JSON对象。...,也就是说这个JSON字符串应该转换为对应的数据类型。...我在打断点debug不断深入的时候发现了net.sf.json对于整型数据的处理时,发现了这个方法NumberUtils#createNumber,这个类是从字符串中取出数据时判断它的数据类型,本意是想如果数字后面带有