文章目录
- 环境准备
- 1. 课程安排
- 2.考评要求
- 3.开发环境
- 4. 搭建环境
- 数据库基础
- 1. 基础部分
- 增删改查
- 3. insert
- 4. UPDATE
- 5. DELETE
- 6.SELECT
环境准备
1. 课程安排
- 掌握JAVAWEB基础知识(数据库, JDBC, Servlet, HTML等), 通过项目驱动, 案例分析的模式, 组建团队, 熟悉整个开发流程, 最终完成一个小项目, 进行答辩成果展示.
- 最终目的: 通过课程讲解, 加强自我学习和解决问题的能力
2.考评要求
1.考勤: 点名, 抽点的方式
2.每天按时完成作业, 进行提交;
3.最终完成项目的成果展示;
3.开发环境
- 数据库: MYSQL5.7(MYSQL, SQLSERVER, ORACLE)关系型数据库
NOSQL: (MONGODB, HBASE, REDIS) 华为: 高斯
- JAVA开发工具: eclipse, sts, idea
- 构建工具: maven(ant, gradle)
- 源代码管理工具: svn, git
- 技术框架: (html+servlet+jdbc)
其他: SSM/ SSH (spring+springmvc+mybatis) (spring+springmvc+hibernate) struts 已经被淘汰了
springboot(全家桶), springcloud(微服务), dubbo
前后端分离技术: (vue+springboot)
程序 = 数据结构+算法
程序 = 面向对象+框架
行业: 码农(面向对象+框架) -> 复制, 粘贴
程序猿(针对行业, 独立解决问题, 读懂源码)
工程师(能够自己针对应用场景, 能够创建独立的应用)
架构师(行业+公司, 技术积累, 解决所有问题, 有自己的创意和思路), 体系
行业专家
- 测试工具: junit, jmeter
- 应用服务器+ 容器: tomcat8
weblogic, jetty, jboss, glashfish
- 操作系统: centos7, windows server
docker
4. 搭建环境
- JDK 1.8 安装: windows, centos7
设置环境变量: JAVA_HOME
- maven安装:
第三方依赖 jar 仓库(远程, 本地仓库) 本地环境
注意事项: 配置文件(setting.xml)修改: 本地仓库路径, 远程仓库 URL, 编译配置项: jdk
数据库基础
1. 基础部分
由来: 龟壳 -> 文件 -> 网状 -> 关系数据库 -> 非关系数据库
数据库: 数据结构 + 算法
- 行, 列的关系;
- 表与表的关系 1:1, 1:N, N:N
- 单表: 字段, 主键(复合主键), 索引(解决查询性能)
- 冗余(高并发场景, 解决表与表之间过多的关联查询影响性能)
- 不能用关键字作为列表名
备份:
6. 小项目: 基于客户端工具在使用
7. 大项目: 基于数据命令在备份; mysqldump
增删改查
约束性:
1.主键
2.唯一性约束
3.非空约束
4.外键约束
总结: 保证数据的干净, 完整性. 数据库加约束, 在实际生产环境中, 是不能把所有的业务需求让数据库完成. 最终导致数据库性能低下, 死锁. 一般是在前端, 应用端(程序)进行逻辑判断, 最终当初入库.
视图: 虚表. 目的: 解决多张表之间关联查询的复杂性, 方便其他人调用.
触发器: 目的: 更新主表的时候, 顺便需要其他逻辑
过程体: 函数, 自定义函数, 数据库自带函数. sum, avg
存储过程: 将业务逻辑采用数据库支持的语法进行实现.
3. insert
1.多行插入
insert into employee(name, job, manager, hiredate, salary, bonus, deptid)
VALUES 行一, 行二,…;
2.子查询插入
insert into backup_employee(name, job, manager, hiredate, salary, bonus, deptid) (select name, job, manager, hiredate, salary, bonus, deptid from employee );
4. UPDATE
- 语法: 通过 update 表名 set 列名=列值1, 列名2=列值2 … WHERE 列名 = 值
5. DELETE
- 语法: update 表名 [ where 列名=值]
- 外键约束关系: 主从关系, 先删除从表记录, 再删除主表记录
- delete 与 truncate table 区别: delete 只删除记录, truncate删除表, 再重新建表, 全表删除是最彻底的.
6.SELECT
4. LIKE
%%_
5. DISTINCT 去重: SELECT DISTINCT 字段 FROM 表;
select distinct salary from employee;
-
聚合函数
-
别名
-
排序 order by
-
分组查询 group by
select deptid,count(*) from employee where salary>1500 group by deptid;
-
HAVING
聚合函数是不能用where
-
LIMIT 分页
多表查询