前面,我们设计好了小卷生鲜的数据库表结构。相信小伙伴们都迫不及待的想要拥有一个自己的小卷生鲜的数据库,并能够做一些自己感兴趣的查询,再回顾下之前学习过的sql了吧。
数据库的选择
也许现在小伙伴在自己的本地开发环境还没有自己的数据库,正在发愁去哪里下MySQL或者选什么版本,然后再在本地安装配置一通。
职业生涯大部分时间都在curd的小卷,给大伙儿推荐一款轻量级且sql语法有很好兼容性的数据库——H2 database。
有了它我们可以快速开发,实现curd的功能,并且用它来做单元测试也非常方便。等我们的业务功能开发好了,我们再将库迁到测试或者生产环境的mysql,然后基于一些略微有差异的sql语法做些细微的调整。
安装和使用h2数据库
下载地址:http://www.h2database.com/html/main.html
进入主页看到下载区域,发现很小的一个库,只有几兆大:
它的版本更新很频繁,作为保守派的小卷,一向在版本的选择上都力求稳定。对H2数据库的版本也是如此,测试发现较新的版本在sql语法兼容性上会比较敏感,执行ddl时有些语法会报错。而用老的版本没有这个问题,因此这里我采用的是以下这个版本:
小伙伴要下载这个版本,点All Downloads链接进去,就能找到这个版本下载。地址为:http://www.h2database.com/html/download-archive.html,找到:
在本地秒装,安装好后,记得把快捷启动方式发送到桌面:
只要双击,就可快速启动h2数据库服务,会默认打开浏览器,显示客户端连接界面。首先,我们以一个内嵌服务的模式,直接连到这个服务,来创建一个db_juan_mall
的库,注意这里的URL,我们可以指定要兼容的数据库,这里是MySQL:
进来后我们看到这样的界面,说明库创建成功了:
实际上它默认在我们用户目录下生成了一个数据库文件,这就是咱们小卷生鲜数据库的全部内容了:
初始化只有16k大小,接下来我们换一种通过数据库连接来连H2服务,这种server模式支持多个程序通过连接来连库:
接下来我们将基于之前小节创建好的数据库模型pdm所导出的ddl(基于MySQL版本)来创建我们的数据库表。具体操作是,先从PowerDesigner中导出ddl:
粘贴过来,全选执行:
执行完成后,可以检查下,所有内容都创建ok:
本质上我们建立的key,它也属于索引嘛,在Indexes中可以看到:
然后我们就可以执行数据的初始化操作了,比如我们粘贴下面的dml语句放到这个web控制台运行:
-- 初始化分类数据
insert into tb_category(id, pid, name, level, order_num, create_time, update_time) values(1, 0, '水果', 1, 1, now(), now());
insert into tb_category(id, pid, name, level, order_num, create_time, update_time) values(2, 1, '苹果', 2, 1, now(), now());
insert into tb_category(id, pid, name, level, order_num, create_time, update_time) values(3, 2, '红富士', 3, 1, now(), now());
再执行查看可以看到查询的结果:
总的来说用H2数据库自带的web控制台写sql还是很麻烦的,没有自动补全提示,没有语法高亮和检查。我们可以安装自己喜欢的数据库客户端连接工具,而idea本身就内置了这样的数据库工具。
使用idea数据库连接工具
下载匹配的驱动jar到本地,下载地址:https://mvnrepository.com/artifact/com.h2database/h2/1.4.200
最后点ok。
终于,我们连接上了:
来查询下:
ok,咱们的数据库环境都好了,可以开始正常的开发了。下一节,我们将学习spring boot与mybatis的集成,实现一个最基本的分类列表的查询,大家加油!