# homework-java-02-02 **Repository Path**: sfljskeprim_admin/homework-java-02-02 ## Basic Information - **Project Name**: homework-java-02-02 - **Description**: No description available - **Primary Language**: Java - **License**: MulanPSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. ## 编程题1 ### 数据准备 1) 创建数据库 ```mysql create database test01 character set utf8; ``` 2) 创建表:account(账户表),有如下结构及数据:(复制以下SQL语句执行) ```sql CREATE TABLE account ( id int(11) PRIMARY KEY AUTO_INCREMENT, username varchar(100) , -- 用户姓名 card varchar(100) , -- 卡号 balance double -- 当前余额 ) ; -- 插入数据 insert into account(id,username,card,balance) values (1,'tom','1122334455',20000.00),(2,'lucy','55443332211',10000.00); ``` 2) 创建表:Transaction(交易记录表) (复制以下SQL语句执行) ```mysql CREATE TABLE TRANSACTION ( id INT PRIMARY KEY AUTO_INCREMENT, cardid VARCHAR(100) , -- 交易卡号 tratype VARCHAR(100) , -- 交易类型: 转入 或者 转出 tramoney DOUBLE , -- 交易金额 tradate DATETIME -- 交易日期 ) ; ``` ### 代码编写 1) 创建项目 Test_01 2) 导入jar包 3) 创建包 包结构为 ```m www.lagou.utils 存放工具类 www.lagou.entity 存放JavaBean类 www.lagou.app 创建测试类 ``` 4) 按照步骤 实现卡号:1122334455向55443332211转账5000元的操作; 步骤 ``` a) 使用连接池创建QueryRunner对象; b) 判断转出方是否有足够余额,如果不足,提示信息:”余额不足!”,并结束程序; c) 通过卡号 进行转账的操作; d) 转账结束后, 将转入、转出记录分别写入到Transaction表中。 ``` ## 编程题2 ### 数据准备 ```mysql CREATE TABLE phone ( id INT PRIMARY KEY AUTO_INCREMENT, pname VARCHAR(20),-- 手机名称 price DOUBLE , -- 手机单价 prodate DATE , -- 生产日期 color VARCHAR(20) -- 颜色 ) ; INSERT INTO phone(id,pname,price,prodate,color) VALUES (1,'IPhone11',7800.00,'2019-07-20','土豪金'), (2,'荣耀6X',5689.00,'2018-02-12','白色'), (3,'诺基亚3',5699.00,'2011-12-05','银白色'), (4,'红米6',599.00,'2017-01-18','香槟金'), (5,'IPhoneX',5800.00,'2018-01-18','日落黑'); ``` ### 代码编写 1) 继续在项目 Test_01中编写代码即可 2) 需求1: 查询价格高于2000元,生产日期是2019年之前的所有手机 3) 需求2: 查询所有颜色是白色的手机信息 ## 编程题3 ### 数据准备 1) 创建表:dept(部门表),有如下结构及数据:(复制以下SQL语句执行) ```mysql CREATE TABLE dept ( id INT PRIMARY KEY AUTO_INCREMENT, -- 部门ID deptname VARCHAR(20) DEFAULT NULL -- 部门名称 ); INSERT INTO dept(id,deptname) VALUES (1,'销售部'),(2,'财务部'),(3,'人事部'); ``` 2) 创建表:employee(员工表) (复制以下SQL语句执行) ```mysql CREATE TABLE employee ( id INT PRIMARY KEY AUTO_INCREMENT , NAME VARCHAR (30), -- 员工姓名 age DOUBLE , -- 员工年龄 sex VARCHAR (6), -- 员工性别 salary DOUBLE , -- 薪水 empdate DATE , -- 入职日期 did INT, -- 所属部门ID FOREIGN KEY (did) REFERENCES dept (id) ); INSERT INTO employee VALUES(1,'奥利给',35,'男',35000,'2000-10-07',1); INSERT INTO employee VALUES(2,'小汉堡',32,'女',38000,'2005-11-12',2); INSERT INTO employee VALUES(3,'哈拉少',30,'男',32000,'2008-03-14',2); INSERT INTO employee VALUES(4,'广坤',40,'男',36000,'2007-09-18',NULL); ``` ### 代码编写 1) 继续在项目 Test_01中编写代码即可 需求1: 查询所有的员工信息 (不包含没有部门的员工)。 需求2: 查询每个员工的 姓名, 薪资 和 所属部门名称