MySQL数据库二 Li.059

视图 视图介绍 视图:是一种虛拟存在的数据表,这个虚拟表并不在数据库中实际存在。 作用:将一些较为复系的查询语句的结果,封装到-个虚拟表中,后期再有相同需求时,直接道询该虚拟表即可 # 准备数据 create database mydb5; use mydb5; create table country( id int primary key auto_increment, NAME varchar(30) ); insert into country values (null,'中国'),(null,'美国'),(null,'俄罗斯'); create table city( id int primary key auto_increment, NAME varchar(30), cid int, constraint cc_fk1 foreign key (cid) references country(id) ); insert into city values (null,'北京',1),(null,'上海',1),(null,'纽约',2),(null,"莫斯科",3); 视图的创建和查询 创建视图语法: create view 视图名称 [(列名列表)] as 查询语句; 查询视图语法: select * from 视图名称; ## 创建视图 create view city_country (city_id,city_name,country_name) as select c1....

October 20, 2021 · 11 分钟 · Lizicai

MySQL数据库一 Li.058

数据库安装和设置UTF-8 数据库安装和设置UTF-8 SQL 介绍 SQL (Structured Query Language): 结构化查询语文. 其实就是定义了操作所有关系型数据库的一种规则 通用语法规则 SQL 语句可以单选或多行书写, 以分号结尾 可使用空格和缩进来增强语句的可读性 MySQL数据库的SQL语句不区分大小写, 关键字建议使用大写 单选注释: – 注释内容 多行注释 /* 注释内容 */ SQL 分类 DDL(Data Definition Language): 数据定义语文. 用来操作数据库,表,列等 DML(Data Manipulation Language): 数据操作语文. 用来对数据库中表的数据进行增删改. DQL(Data Query Language): 数据查询语言. 用来查询数据库表的记录(数据). DCL(Data Control Language): 数据控制语言. 用来定义数据库的访问权限和安全级别, 及创建用户. DDL 查询和创建数据库 # 查询所有数据库 show databases ; # 查询数据的创建的创建语句 show create database mysql; # 创建数据库 create database mydb; # 创建数据库(判断,如果不存在则创建) create database if not exists mydb2; # 创建数据库(指定字符集) create database mydb3 character set UTF8mb4; # 练习创建mydb4, 不存在则创建, 并指定UTF8字符 create database if not exists mydb4 character set UTF8mb4; DDL 修改 删除 使用数据库 # 修改数据库(修饰字符集) ALTER DATABASE mydb4 CHAR SET gbk; show create database mydb4; # 删除数据库 drop database mydb4; # 删除数据库(判断, 如果存在则删除) drop database if exists mydb4; # 使用数据库 use mydb3; # 查看当前使用的数据库 select DATABASE(); DDL 查询数据表 # 查询所有的数据表 use mysql; show tables ; # 查询表结构 desc user; # 查询表字符集 show table status from mysql like 'user'; DDL 创建数据表 格式 create table 表名( 列名 数据类型 约束, 列名 数据类型 约束, 列名 数据类型 约束 ); 数据类型 int: 整数类型 double: 小数类型 datetime: 日期类型....

October 14, 2021 · 13 分钟 · Lizicai

JavaWeb核心四 Li.057

EL 表达式 EL (Expression Language): 表达式语言. 在JSP 2.0规范中加入的内容, 也是Servlet规范的一部分. 作用: 在JSP页面中获取数据. 让我们的JSP脱离java代码块和JSP表达式 <%--请求域中添加username数据--%> <% request.setAttribute("username","zhangsan"); %> <%--获取请求域的username 3种方式--%> <%--Java代码块--%> <% out.println(request.getAttribute("username")); %> <br/> <%--JSP表达式获取--%> <%= request.getAttribute("username")%> <br/> <%--EL表达式获取--%> ${username} EL 表达式获取数据类型 获取基本数据类型的数据 获取自定义对象类型的数据 获取数组类型的数据 获取List集合类型的数据 获取Map集合类型的数据 <%@ page import="com.lizicai.bean.Student" %> <%@ page import="java.util.ArrayList" %> <%@ page import="java.util.HashMap" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% pageContext.setAttribute("num",10); %> 基本数据类型 ${num} <br/> <% Student stu = new Student("李明", 23); pageContext....

October 13, 2021 · 7 分钟 · Lizicai

JavaWeb核心三 Li.056

Cookie 属性 属性名 作用 是否重要 name Cookie的名称 必须属性 value Cookie的值(不支持中文) 必须属性 path Cookie的路径 重要 domain Cookie的域名 重要 maxAge Cookie的存活时间 重要 version Cookie的版本号 不重要 comment Cookie的描述 不重要 Cookie 方法 方法名 作用 Cookie(String.name,String.Value) 构造方法创建对象 属性对应的set和get就去 赋值和获取值 Cooke 添加和获取 添加 HttpServletResponse 返回值 方法名 说明 void addCookie(Cookie.cookie) 向客户端添加Cookie 获取 HttpServletRequest 返回值 方法名 说明 Cookie[] getCookies() 获取所有的Cookie Cookie 细节 数量限制 每个网站最多只能有20个Cookie, 且大小不能超过4KB. 所有网站的Cookie总数不能超过300个 名称限制 Cookie的名称只能包含ASCCI码表中字母,数字字符. 不能包含逗号,分号,空格, 不能以$开头 Cookie的值不支持中文 存活时间限制setMaxAge()方法接收数字 负整数: 当前会放有效, 浏览器关闭则清除 0: 立即清除 正整数: 以秒为单位设置存活时间 访问路径限制 默认路径: 取自第1次访问的资源路径前缀....

October 8, 2021 · 6 分钟 · Lizicai

JavaWeb核心二 Li.055

请求对象 返回值 方法名 说明 String getContextPath() 获取虚拟目录名称 String getServletPath() 获取Servlet映射路径 String getRemoteAddr() 获取访问者ip地址 String getQueryString() 获取请求的消息数据 String getRequestURI() 获取统一资源标识符 String getRequestURL() 获取统一资源定位符 import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet(name = "demo1GetPath", value = "/demo1GetPath") public class Demo1GetPath extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String contextPath = req....

September 29, 2021 · 10 分钟 · Lizicai

JavaWeb核心一 Li.054

1. IDEA 创建 JavaWeb 项目 1.1 选择JavaEE 项目 1.2 Project tempate中选择 Web Application 1.3 一路创建 1.4 在Edit Configurations 设置tomcat, 下面为brew 安装的tomcat地址 /usr/local/Cellar/tomcat@9/9.0.53/libexec 1.5 设置On update action: update resources, On frame deactivation: update resources 1.6 设置第二栏Deployment: Application text: /web_demo 1.7 启动tomcat 即可自动在浏览器上预览 2. 打包JavaWeb 项目 2.1 在本地wepapp文件夹内, 使用jar -cvf myweb.war .打包 jar -cvf myweb.war . 2.2 上传到tomcat服务器中的webapps中, 重启tomcat即可看到发布结果 scp myweb.war webserver:tomcat9.0/webapps/ ./shutdown.sh ./startup.sh 3. 更改Tomcat 端口 conf中server.xml 8080更改为80端口 4. 在server.xml中添加其它目录做为tomcat项目 **在Host中间添加...

September 26, 2021 · 7 分钟 · Lizicai

Linux下Java的JDK安装设置和Tomcat安装 Li.053

1. 卸载原有JDK rpm -qa | grep "java" yum remove 上面筛选内容 2. 下载JDK8, 解压 进入 官网Java JDK8下载地址 右键选择linux x64 jdk-8u301-linux-x64.tar.gz的下载地址 使用wget下载, 并解压 wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn/java/jdk/8u301-b09/d3c52aa6bfa54d3ca74e617f18309292/jdk-8u301-linux-x64.tar.gz tar -zxvf jdk-8u301-linux-x64.tar.gz 3. root用户移动文件, 并设置JAVA_HOME环境变量 3.1 移动文件夹 mv jdk1.8.0_301 /usr/local 3.2 设置JAVA_HOME环境变量 vim /etc/profile 可以对所有用户生效 对当前用户生效则可放在.bashrc中 添加下列信息 export JAVA_HOME=/usr/local/jdk1.8.0_301 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib/dt.JAVA_HOME/lib/tools.jar:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:${PATH} 3.3 重新生效/etc/profile或.bashrc source /etc/profile # source ~/.bashrc 3.4 检测Java安装成功 java -version 弹出java的版本, 即是安装成功 4 Tomcat 安装 4....

September 26, 2021 · 1 分钟 · Lizicai

CSS基础 Li.052

CSS (Cascading Style Sheets) 层叠样式表 选择器: 选择HTML元素的方式, 可以使用标签名, class属性值, id值等多种方式 样式声明: 用于给HTML元素设置具体的样式. 格式是属性名: 属性值. 选择器{ 属性名: 属性值; 属性名: 属性值; 属性名: 属性值; } h1{ color: red; font-size: 5px; } 入门案例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>入门案例</title> <style> h1{ font-size: 100px; color: red; } </style> </head> <body> <h1 >今天开始爱学习!</h1> </body> </html> CSS 的引用方式 * 内联样式 在标签中通过style属性来控制样式, 只能影响当前这一行 格式 <标签 style="属性名:属性值; 属性名:属性值;">内容</标签> * 内部样式 在<head>标签中通过<style>标签来控制样式, 只能影响当前文件 格式<head><style> 选择器{ 属性名:属性值; }</style></head> * 外部样式 在<head>标签中通过<link>标签来引入独立css文件, 可以影响不同的文件 格式<link rel="stylesheet" href="sample....

September 24, 2021 · 5 分钟 · Lizicai