【2023】Kotlin教程

在这里插入图片描述

第四篇 项目实战

第25章 项目实战1:开发PetStore宠物商店项目

25.2 任务1:创建数据库

在设计完成之后,在编写Kotlin代码之前,应该创建数据库。

25.2.1 迭代1.1:安装和配置MySQL数据库

这里笔者也不演示了,贴上以前的博客:

https://dingjiaxiong.blog.csdn.net/article/details/128886805

在这里插入图片描述

准备好MySQL。

25.2.2 迭代1.2:编写数据库DDL脚本

按照之前的数据库设计模型编写数据库DDL脚本。当然,也可以通过一些工具生成DDL脚本,然后把这个脚本放在数据库中执行就可以了。下面是编写的DDL脚本:

/* 创建数据库 */
CREATE DATABASE  IF NOT EXISTS  petstore;

use petstore;

/* 用户表 */
CREATE TABLE IF NOT EXISTS accounts (
    userid varchar(80) not null,   	 /* 用户Id  */
    password varchar(25)  not null,	 /* 用户密码 */
    email varchar(80) not null,  	 /* 用户Email */
    name varchar(80) not null, 		 /* 用户名 */
    addr varchar(80) not null, 		 /* 地址 */
    city varchar(80) not  null, 	 /*  所在城市 */
    country varchar(20) not null, 	 /*  国家 */
    phone varchar(80) not null, 	 /*  电话号码 */
PRIMARY KEY (userid));

/* 商品表 */
CREATE TABLE IF NOT EXISTS products (
    productid varchar(10) not null,	/* 商品Id */
    category varchar(10) not null,	/* 商品类别 */
    cname varchar(80) null,		/* 商品中文名 */
    ename varchar(80) null,		/* 商品英文名 */
    image varchar(20) null,		/* 商品图片 */
    descn varchar(255) null,		/* 商品描述 */
    listprice decimal(10,2) null, 	/* 商品市场价 */
    unitcost decimal(10,2) null,	/* 商品单价 */
PRIMARY KEY (productid));

/* 订单表 */
CREATE TABLE IF NOT EXISTS orders (
    orderid bigint not null,		/* 订单Id */
    userid varchar(80) not null,	/* 下订单的用户Id */
    orderdate bigint not null,		/* 下订单时间 */
    status int not null default 0,	/* 订单付款状态  0待付款  1已付款 */    
    amount decimal(10,2) not null,	/* 订单应付金额 */
PRIMARY KEY (orderid));

/* 订单明细表 */
CREATE TABLE IF NOT EXISTS orderdetails (
    orderid bigint not null,		/* 订单Id */
    productid varchar(10) not null,	/* 商品Id */
    quantity int not null,		/* 商品数量 */
    unitcost decimal(10,2) null,	/* 商品单价 */
PRIMARY KEY (orderid, productid));

在这里插入图片描述

25.2.3 迭代1.3:插入初始数据到数据库

PetStore宠物商店项目有一些初始的数据,这些初始数据在创建数据库之后插入。这些插入数据的语句如下:

use petstore;

/* 用户表数据 */
INSERT INTO accounts VALUES('j2ee','j2ee','yourname@yourdomain.com','DingJiaxiong', '北京海淀区', '北京', '中国',  '18811588888');
INSERT INTO accounts VALUES('ACID','ACID','acid@yourdomain.com','Tony', '901 San Antonio Road', 'Palo Alto', 'USA',  '555-555-5555');

/* 商品表数据 */
INSERT INTO products VALUES ('FI-SW-01','鱼类','神仙鱼', 'Angelfish', 'fish1.jpg', '来自澳大利亚的咸水鱼', 650, 400);
INSERT INTO products VALUES ('FI-SW-02','鱼类','虎鲨', 'Tiger Shark','fish4.gif', '来自澳大利亚的咸水鱼', 850, 600);
INSERT INTO products VALUES ('FI-FW-01','鱼类','锦鲤', 'Koi','fish3.gif', '来自日本淡水鱼', 150, 120);
INSERT INTO products VALUES ('FI-FW-02','鱼类','金鱼', 'Goldfish','fish2.gif', '来自中国的淡水鱼', 150, 120);
INSERT INTO products VALUES ('K9-BD-01','狗类','斗牛犬', 'Bulldog','dog2.gif', '来自英国友好的伴侣犬', 1500, 1200);
INSERT INTO products VALUES ('K9-PO-02','狗类','狮子狗', 'Poodle','dog6.gif', '来自法国可爱狗狗',  1250, 1000);
INSERT INTO products VALUES ('K9-DL-01','狗类','斑点狗', 'Dalmation','dog5.gif', '有很多斑点的狗狗', 2150, 2000);
INSERT INTO products VALUES ('K9-RT-01','狗类', '金毛猎犬', 'Golden Retriever','dog1.gif', '很好的伴侣犬', 3800, 3400);
INSERT INTO products VALUES ('K9-RT-02','狗类', '拉布拉多犬','Labrador Retriever','dog5.gif', '很好的狩猎犬', 3600, 3020);
INSERT INTO products VALUES ('K9-CW-01','狗类', '吉娃娃', 'Chihuahua','dog4.gif', '性格温顺的狗狗', 1500,  120);
INSERT INTO products VALUES ('RP-SN-01','爬行类','响尾蛇', 'Rattlesnake','lizard3.gif','可怕且危险的动物', 150, 110);
INSERT INTO products VALUES ('RP-LI-02','爬行类','鬣蜥蜴', 'Iguana','lizard2.gif', '可随环境及光线强弱改变体色', 1600, 1203);
INSERT INTO products VALUES ('FL-DSH-01','猫类','马恩岛猫', 'Manx','cat3.gif', '它能有效地减少老鼠的数量很有好处', 2503, 2120);
INSERT INTO products VALUES ('FL-DLH-02','猫类','波斯', 'Persian','cat1.gif', '非常好的家猫', 3150, 2620);
INSERT INTO products VALUES ('AV-CB-01','鸟类','亚马逊鹦鹉', 'Amazon Parrot','bird4.gif', '寿命长达75年的大鸟', 3150, 3000);
INSERT INTO products VALUES ('AV-SB-02','鸟类','雀科鸣鸟', 'Finch','bird1.gif', '会唱歌的鸟儿', 150, 110);

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

OK, 数据准备完毕。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐