栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

(springboot实战02)day50javaEE基础查漏补缺

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(springboot实战02)day50javaEE基础查漏补缺

springboot实战02

1.数据库可以直接设置默认值吗2.新增的时候:创建时间和更新时间都设置为当前时间3.雪花算法:4.新增数据的时候,sql语句:字段名按实体类写,字段的顺序是按表的顺序。5.js接收长整型或大整型精度丢失:6.消息转换器:JacksonObjectMapper???7.具体细节的错误提示,如何从错误日志中抓取信息?8.异常类要放在那个包里呀?9.设计数据库时,为啥不直接把id设计成字符串类型?10.为什么前台的传过来的json能直接转成实体类对象?11.全局异常处理器:12.resultInfo尽量放到controller层,当无法满足时再放到service层。13.写代码思路:

1.数据库可以直接设置默认值吗

可以,设置默认字符串时,记得加单引号。

2.新增的时候:创建时间和更新时间都设置为当前时间

更新的时候:只设置更新时间为当前时间。

3.雪花算法:

这 64 个 bit 中,其中 1 个 bit 是不用的,然后用其中的 41 bit 作为毫秒数,用 10 bit 作为工作机器 id,12 bit 作为序列号。

给大家举个例子吧,比如下面那个 64 bit 的 long 型数字:

第一个部分,是 1 个 bit:0,这个是无意义的。

第二个部分是 41 个 bit:表示的是时间戳。

第三个部分是 5 个 bit:表示的是机房 id,10001。

第四个部分是 5 个 bit:表示的是机器 id,1 1001。(三四部分组合就是服务器的编号)

第五个部分是 12 个 bit:表示的序号,就是某个机房某台机器上这一毫秒内同时生成的 id 的序号,0000 00000000。
原文链接:https://blog.csdn.net/lq18050010830/article/details/89845790

4.新增数据的时候,sql语句:字段名按实体类写,字段的顺序是按表的顺序。 5.js接收长整型或大整型精度丢失:

java的(biginteger,long)类型,js会自动用int来接收,int位数比较短,所以后面的位数会四舍五入。损失精度。

后端返回比较大的数据的时候,要转为字符串再给前端。

添加一个消息转换器:JacksonObjectMapper

6.消息转换器:JacksonObjectMapper??? 7.具体细节的错误提示,如何从错误日志中抓取信息?

从异常中获取信息方法:

java.lang.Throwable
Throwable是所有异常类的根类

1)getMessage():String 返回描述该异常对象的信息

2)toString():String 返回三个字符串的连接:1)异常类的全名;2)“:”(一个冒号和空白)3)getMessage(方法)

3)printStackTrace():void 在控制台上打印Throwable对象和它的调用堆栈信息

4)geteStckTrance():StackTranceElement[] 返回和该异常对象相关的代表对栈跟踪的一个对栈跟踪元素的数组
原文链接:https://blog.csdn.net/weixin_44199924/article/details/100044978

8.异常类要放在那个包里呀?

异常类放在common包下

统一异常处理器放到web包的handler下

9.设计数据库时,为啥不直接把id设计成字符串类型?

无法实现自动增长,自动增长必须时整形int。

10.为什么前台的传过来的json能直接转成实体类对象?

springMvc(集成了jackson工具包)的前端控制器帮我们做了这个转换,之前我们都是自己转的,用Jackson。

Jackson的核心类是ObjectMapper,通过ObjectMapper可以序列化和反序列化Json。

使用Jackson把Java对象转Json:

//1-2 读取流中的数据,读取json字符串
String json = IoUtil.read(inputStream, "utf-8");
//1-3 将json字符串转换成student对象
Student student = new ObjectMapper().readValue(json, Student.class);
11.全局异常处理器:

全局异常处理类,处理的异常主要分为三类:

【通过具体的异常类型定位】 ① 特定的一些异常 对于他们,我们直接捕获,给前端提示

【自定义一个业务异常】 ② 业务异常 对于他们,我们直接捕获,捕获完了,将业务报错,返回给前端

【除了上面两种】 ③ 非预期异常 对于他们,我们直接捕获,捕获完了,记录日志, 给前端一个假提示

12.resultInfo尽量放到controller层,当无法满足时再放到service层。 13.写代码思路:

先画图,照着图写代码,不会了再瞅一眼。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/736125.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号