JavaWeb学习笔记第三弹
一、数据库设计
1、软件研发步骤


2、数据库设计概念
建立数据库中的表结构以及表与表之间的关联关系的过程
3、数据库设计的步骤

表关系:一对一、一对多(多对一)、多对多
表关系之一对多

表关系之多对多

表关系之一对一

并将外键设置为唯一
多表查询
1、内连接(相当于查询两个集合的交集)
隐式内连接:命令:**select 字段列表 from 表名1,表名2 where 条件;**
显式内连接:命令:**select 字段列表 from 表名1 [inner] join 表名2 on 条件;**
2、外连接
左外连接:命令:**select 字段列表 from 表名1 left [outer] join 表名2 on 条件;**
右外连接:命令:**select 字段列表 from 表名1 right [outer] join 表名2 on 条件;**
子查询:查询中嵌套查询,称嵌套查询为子查询
单行单列:作为条件值,可用!><=进行判断
命令:select 字段列表 from 表名 where 字段名 = (子查询);
多行单列:作为条件值,可用in等关键字进行判断
命令:select 字段列表 from 表名 where 字段名 in (子查询);
多行多列:作为虚拟表
命令:select 字段列表 from (子查询) where 条件;
事务
1、事务简介

三个操作:开始事务(begin)、回滚事务(rollback)、提交事务(commit)
2、事务的四大特征

1、查询事务的默认提交方式
select @@autocommit;
2、手动提交
set @@autocommit=0;
手动提交时,若是没有最后的commit;,提交是无效的!
JDBC——Java语言操作关系型数据库的一套API


快速入门
Javaweb项目前期的环境准备可以参考这两篇:
https://www.cnblogs.com/liuzijin/p/16410707.html
和
https://www.cnblogs.com/liuzijin/p/16654513.html
JDBC:
1、注册驱动
Class.forName("com.mysql.jdbc.Driver");
2、获取连接
String url="jdbc:mysql://127.0.0.1:3306/数据库名称";
String username="root";
String password="用户密码";
Connection conn=DriverManager.getConnection(url,username,password);
3、定义SQL语句
String sql="update...";
4、获取执行SQL对象
Statement stat=conn.createStatement();
5、执行SQL
stat.executeUpdate(sql);
6、返回处理结果
7、释放资源
实践一下:

JavaWeb学习笔记第三弹的更多相关文章
- javaweb学习笔记(三)
一.javaweb高级(Filter和Listener)的简单介绍 1.过滤器Filter (https://www.cnblogs.com/vanl/p/5742501.html) ①定义 Filt ...
- Javaweb学习笔记——(三)——————JavaScript基础&DOM基础
day031.js的String对象 **创建String对象 ***var str = "abc"; **方法和属性(文档) ***属性 lenth:字符串的长度 ***方法 ( ...
- JavaWeb学习笔记(三)—— Servlet
一.Servlet概述 1.1 什么是Servlet Servlet是是sun公司提供一套规范(接口),是JavaWeb的三大组件之一(Servlet.Filter.Listener),它属于动态资源 ...
- JavaWeb和WebGIS学习笔记(三)——GeoServer 发布shp数据地图
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- JavaWeb学习笔记总结 目录篇
JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...
- 《DOM Scripting》学习笔记-——第三章 DOM
<Dom Scripting>学习笔记 第三章 DOM 本章内容: 1.节点的概念. 2.四个DOM方法:getElementById, getElementsByTagName, get ...
- HTTP协议学习笔记(三)
HTTP协议学习笔记(三) 1.状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务端向服务端发送请求时,描述返回的请求结果.借助状态码,用户可以知道服务端是正常处理了请求,还是出现了错误 ...
- 《Web安全攻防 渗透测试实战指南 》 学习笔记 (三)
Web安全攻防 渗透测试实战指南 学习笔记 (三) burp suite详解 是一款集成化渗透测试工 ...
- javaweb学习笔记整理补课
javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...
- Servlet学习笔记(三)
目录 Servlet学习笔记(三) 一.HTTP协议 1.请求:客户端发送欸服务器端的数据 2.响应:服务器端发送给客户端的数据 3.响应状态码 二.Response对象 1.Response设置响应 ...
随机推荐
- ubuntu20关机慢: A stop job is running for Snappy daemon
Ubuntu 20 关机超时 问题 A stop job is running for Snappy daemon [1 min 30s ] 解决办法 1.修改以下配置文件超时时间,如下: sudo ...
- js 处理日期加减
js 处理日期加减 开始时间设置为6点整,若当前时间小于6:00:00,则使用T-1,否则使用T 结束时间设置为T+1的6点整 Date.prototype.format = function(fmt ...
- 【2020NOI.AC省选模拟#7】A. t1
题目链接 原题解: 由于$+$满足幂等性,我们可以设$f_{i,j}$为从$i$号点向根$2^j$个点的权值之和,并且倍增计算出$f$.在查询是,可以像ST表一样用至多四个$f$中的路径拼出询问路径. ...
- ZSTUOJ刷题11:Problem D.--零起点学算法106——首字母变大写
Problem D: 零起点学算法106--首字母变大写 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 18252 Solved: 5211 Descr ...
- Python基础数据类型-String(字符串)
print("===========字符串类型常见方法=============") a = "stringing" print(a.capitalize()) ...
- char和int的类型转换
char类型是16位的,底层采用unicode编码保存.char类型是可以直接赋值给int类型的,因为是16位到32位低到高.举个例子比如int i='1';打印i的值是49.char类型跟int类型 ...
- CentOS 8.x下编译php 7.4、php5.6、php5.3多版本报错处理教程
一.编译安装php 7.4.x 参考CentOS 8.0.1905编译安装Nginx1.16.1+MySQL8.0.18+PHP7.3.10 1.安装编译工具及库文件(使用yum命令安装) yum i ...
- [postman的使用]postman捕获https请求
解决方法: 1.settings 2.SSL certificate verifivation设置为关闭
- 文献学习——A Deep Dive into Conflict Generating Decisions
A Deep Dive into Conflict Generating Decisions Md. Solimul Chowdhury, Martin Müller, Jia-Huai You:A ...
- Linux_Shell脚本
Shell脚本 shell基础 shell变量 shell扩展 shell基础 shell简介 1.什么是shell? shell是一种命令解释器 shell也是一种编程语言 shell,python ...