数据库学习
文章平均质量分 96
wanghowie
其实我想成为大牛
展开
-
数据库版本管理:springboot + flyway 、shell脚本维护
最近在公司项目中,随着产品的迭代,需要维护数据库表结构、数据升级等问题。最初采用了平台数据库版本维护框架,需要写shell脚本,然后配置rundeck节点实现数据库一键升级。简单的介绍下shell脚本编写思路:首先数据库中,维护一张表history记录数据库版本,类似于flyway的flyway_schema_history表。在history中记录几个关键数据:ex、git-commit-id,DEMO连接:https://github.com/wanghowie/flywaydemo.gi原创 2020-08-14 00:37:03 · 776 阅读 · 0 评论 -
JAVA程序性能优化--笔记2、设计模式:单例与代理
单例模式单例模式是设计模式中使用最为普遍的模式之一。它是一种对象创建模式,用于产生一个对象的具体实例,它可以确保系统中一个类只产生一个实例。Java语言中,这样的行为能带来两大好处:(1)对于频繁使用的对象,可以省略创建对象所花费的时间,这对于那些重量级对象而言,是非常可观的一笔系统开销。(2)由于new操作的次数减少,因而对系统内存的使用频率也会降低,这将减轻GC压力,缩短GC停顿时间。最简单的单例实现:public class Singleton { private Sin...原创 2020-07-23 20:10:30 · 153 阅读 · 0 评论 -
最近在JavaWeb项目开发遇到的一些问题
1、使用maven模块化:通过IDEA使用maven构建项目的模块化较为简单,只需要在主(父)项目上右键new——module即可。这里要说明的时,在构建模块项目时,可能出现的循环依赖问题。此时项目启动时将会报错“The projects in the reactor contain a cyclic reference.”。出现这种情况往往是因为不同模块存在直接或间接的相互依赖的情况。此时,原创 2018-02-01 00:18:23 · 7746 阅读 · 0 评论 -
MongoDB学习笔记——1
文档键的要求:键不能包含\0(空字符)。该字符表示键的结尾。.和$有特殊含义,只在特定环境下使用,当使用不当时,驱动程序会提示。以下划线开头的键是保留的,——非严格要求。键不能重复。一组文档构成集合。集合是无模式的,也就是说集合中的每一个文档结构可以不同。如{"greeting":"hello,mongodb"}、{"foo":5}可以存放在同一集合中。——但是不建议将所有文档放在一个原创 2018-01-05 23:32:48 · 204 阅读 · 0 评论 -
MongoDB学习笔记2——创建、更新和删除文档
首先我们先使用use指令创建数据库,在MongoDB中,use dbname,如果数据库不存在,则创建,并切换到使用该数据库,如果存在则直接切换到该数据库。其中,第一个db为别名,第二个db为数据库的名字。这个地方我的命名不太好。其次,说明在shell中查询函数的方法:例如我们查询删除函数remove()的方法,我们可以使用如下的形式获取remove的实现形式:> db.foo.removefun原创 2018-01-18 00:24:13 · 434 阅读 · 0 评论