公司实习期间的总结
mysql
数据类型
1.text类型字段:可以无限存储数据
查询
1.当要对数据库中存储的文本进行查询时:因为文本的的量比较大,所以这时侯需要将文本单独放在一张字段比较少的数据库中,然后用id进行关联。这样的话,就可以提升数据库的查询效率。
下面这张图时周哥帮我的分析(因为当时我的想法是:直接将贴子的内容和其他贴子字段存储在一起,而周哥为什么采用的是id关联)
关键知识点
1.数据库原理中的范式。
数据库的设计
注意事项
1.设计库时,要考虑表字段之间的的对应关系。如果对于该表中的字段,会被重复性的进行多次读取的话,则需要想办法减少该字段的读取。
2.字符集选用 utf8mb4,排序选择utf8mb4_general_ci
3.虽然有时候将数据中的字符集设置成了对应的utf8mb4,但是有些字段的字符集未必是utf8mb4。这点一定要注意。
4.utf8mb4可以存储
微服务
Bladex框架
疑问
java下面没有放resources目录,resources目录中也没有存储配置文件的原因:
1.存储在resources目录中的配置文件不安全
2. 无法对配置文件进行动态更新
对于使用Bladex来说:实际上所有的配置文件都是存储在nacos(可以充当注册中心,也可以充当配置中心)的。当程序启动时,nacos的配置文件会自动注入到代码中对应的数据源中。这样即保证了配置文件的安全性也保证了能够动态对配置文件进行更改!
如果配置文件时放在代码中的话,即使我们将项目打成jar包后,我们依然是可以看到resources目录下的配置文件的信息的(比如有:数据库地址信息,用户名和密码那些)。所以,如果配置文件放在代码配置文件中的话,数据库的信息可能会被获取,那么对我们系统的数据库将有着很大的安全隐患!!
对于IDEA这个开发工具来说,a模块就可以调用b模块中的类,即使是controller中的也可以进行调用?
因为a模块引入了b模块。在pom文件中。
异常处理
疑问
对于社区论坛的版块创建来说,为什么版块的创建无法创建时,指示抛出了一个异常,而不用返回一个错误的json提示。
当抛出一个异常后,前台的获取接口后,返回的json中msg中会包含该信息。所以直接抛出异常就可以了。