热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQL基础学习笔记(持续更新中)

一、MySQL基础1.数据库概念1.1为什么要学MySQL个人理解:随着互联网的发展,数据变得烦杂,冗余,量大

一、MySQL基础


1. 数据库概念


1.1 为什么要学MySQL

个人理解:随着互联网的发展,数据变得烦杂,冗余,量大,为了保证数据的持久性以及健壮性等等,同时也为了方便人们很好的处理数据,这就发明了数据库DB。


  • 实现数据的持久性
  • 拥有专门管理的数据软件:数据库管理系统DBMS

1.2 数据库相关概念:

DB∶数据库,保存一组有组织的数据的容器。

DBMS∶数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据。

SQL:结构化查询语言:专门用来与数据库管理系统(DBMS)通信的语言。


  • 不是某个特定数据库供应商专有的语言,几乎所有DBMS都支持SQL
  • 简单易学
  • 一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

2. DBMS的分类:


  • 基于共享文件系统的DBMS(Access)
  • 基于客户机——服务器(C/S 架构)的DBMS(MySQL、Oracle、SQLServer)服务端比较重要。

2.1 RDBMS 与非 RDBMS

2.1.1 关系型数据库

实质:


  • 二维表的格式、二元关系。
  • 数据库由多个表组成
  • 可以支持单表、多表复杂查询,同时有事务支持(安全性很高的数据访问要求得以实现)


2.1.2 非关系型数据库


  • 可以看成传统关系型数据库的阉割版本舍得,舍弃了一些功能,获得某些高性能的功能。
  • 键值型数据库:内存中。Redis
  • 文档型数据库:MongoDB
  • 搜索引擎数据库:Solr
  • 列式数据库:降低系统的I/O,适用于分布式文件系统。
  • 图形数据库。

3. 关系型数据库的设计规则


  • 典型数据结构就是数据表,这些数据表的组成都是结构化的。
  • 将数据库放到表中,表再放到库中。
  • 一个数据库中可以有多个表,每个表都有一个的名字,用来标识这个表。表名具有唯一性。
  • 表具有一些特性,这些特性定义了数据在表中如何存储,类似java中“类”的设计。
  • 表由列组成,我们也称为字段。所有表都是由一个列或多个列组成的,每一列类似java中的“属性”。
  • 表中的数据是按行存储的,每一行类似java中的“对象”

3.1 表、记录、字段


  • E-R模型:实体集、属性、联系集
  • 实体集对应一个表,实体对应表中的一行、也称为一条记录。一个属性对应于数据库中的一列,也称为一个字段。

3.2 表的关联关系


  • 表与表之间的数据记录有关系。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
  • 四种关系:一对一关联、一对多关联、多对多关联、自我引用。

3.2.1一对一关系(one-to-one)


  • 实际运用不多,因为一对一的关系可以创建成一张表。
  • 一张表拆分为两张表:两个表的记录是一一对应的关系。
    • 但是表的字段太多时,我们可以将表拆分为常用和不常用的两张表。
  • 两种建标原则:
    • 外键唯一:主表的主键和从表的外键唯一。形成主外关系,外键唯一。
    • 外键是主键:主表的主键和从表的主键,形成主外键关系。


3.2.2 一对多关系(one-to-many)


  • 常见实例场景:客户表和订单表,分类表和商品表,部门表和员工表
    • 也就是说一个表里面的一条记录可以对应到另一个表中的多条记录。
  • 一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键

在这里插入图片描述



3.2.3 多对多关系(many-to-many)


  • 要表示多对多关系,必须创建第三个表,该表通常称为联接表,它将多对多关系划分为两个一对多关系。将这两个表的主键都插入到第三个表中。
    在这里插入图片描述

  • 多对多关系建表原则:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。



3.2.4 自我引用(Self reference)


  • 一个表里面有对应关系

在这里插入图片描述




二、MySQL环境搭建

位置信息(删除时都要删):


  • 软件安装的位置
  • 数据库数据的位置
  • 服务的位置(确保每次服务都有开启,这样才能使用MySQL)
  • 环境变量的位置
  • 注册表

1. MySQL的卸载

卸载方式:


  • 控制面板下卸载程序

  • 通过360、电脑管家卸载

  • 通过MySQL安装包本身卸载

  • 最后要重启电脑


2. MySQL的下载、安装、配置


2.1 下载安装:

下载通过msi文件安装。

要在管理员模式下打开cmd:


  • net start mysql80 开启MySQL服务

  • net stop mysql80 关闭MySQL服务

  • 也可在服务中手动开启手动关闭

注意:后面要加版本号80

安装好后登录uroot用户:


  • mysql -uroot -p
  • 再输入密码进入mysql
  • quit、exit指令为退出mysql
  • 如果有多个版本的MySQL,访问时得注意端口号
    • mysql -uroot -P 3306 -p
    • 3306为你安装MySQL时进程的端口号
  • 访问本机或者其他地址的MySQL
    • mysql -uroot -P 3306 -h localhost (访问本地的MySQL)



2.2 配置


  • 配置环境变量
    • 在path路径下配置
    • 路径为MySQL安装路径下bin文件的位置

3. MySQL的基础使用


3.1 基本使用指令

show databases; #展示现在所有的数据库
create databases dbtest1; #创建一个数据库
use dbtest1; #使用这个数据库进行操作。(以下操作在这个数据库中进行)* create table students(id int,name varchar[15]); #——创建一个表(关系模式)show tables; #在这个数据库下显示所有的表select * from students #在这个student表中筛选信息,*代表全部的意思。(正则表达式)insert into students values(1001,'Tom');insert into students values(1002,'Jeff');#往表里插入信息(用这个语句插入中文字符串会报错)insert into students values(1002,'汤姆'); #报错,但是在8.0版本中是可以的!因为以前版本的CHARSET = latin1 (latin中没有汉字中文编码,mysql最初是在瑞典被创建的,所以采用Latin码)show create table students; #战士创建表时的相关信息show create database dbtest1; #展示创建数据库时的相关信息
show variables like 'character_%'; #展示此版本下所使用的字符集
show variables like 'collation_%'; #展示字符集的比较规则
drop database dbtest1; #把数据库删除
alter database dbtest1 charset utf8; #修改修改数据库的字符编码为utf8

修改字符集通过MySQL数据目录下的my.ini文件配置修改(5.7以前(包括5.7)版本才需要)


3.2 MySQL图形化管理工具


  • MySQL Workbench
  • Navicat Premunim (已安装)
  • SQLyog (已安装)
  • dbeaver(利于做大数据的操作)

三、初识SQL语言


1. SQL的分类

SQL:数据查询语言

/*
DDL:数据定义语言。
CREATE\ALTER\DROP\RENAME\TRUNCATEDML数据操作语言。(使用频率最高)
INSERT\DELETE\UPDATE\SELECT
增 删 改 查DCL:数据控制语言。
COMMIT\ROLLBACK\SAVEPOINT\GRANT\REVOKE
COMMIT\ROLLBACK(与事物相关的操作,单独取出称为TCL:事物控制语言)因为查询语句使用的非常频繁,所以很多人把查询语句单拎出来一类:DQL(数据查询语言)学习技巧:大处着手、小处着手。
*/

2. SQL语言的规则与规范


2.1 基本规则


  • 可以写在一行或者多行,可读性,各子句分行写,必要时使用缩进。
  • 每条命令以 ; 或 \g 或 \G 结束
  • 关键字不能被缩写也不能分行
  • 关于标点符号
    • 必须保证所有的()、单引号、双引号是成对结束的。
    • 必须使用英文状态下的半角输入方式。
    • 字符串型和日期时间类型的数据可以使用单引号 (’ ') 表示
    • 列的表名,尽量使用双引号 (" "),而且不建议省略as

2.2 SQL大小写规范


  • MySQL在windows环境下是大小写不敏感的

    • windows操作系统本身不区分大小写
  • MySQL在Linux环境下是大小写敏感的

    • 数据库名、表名、表的别名、变量名是严格区分大小写的。
    • 关键字、函数名、列名(或字段名)、列的别名(字段的别名)是忽略大小写的。
  • 推荐采用统一的书写规范

    • 数据库名、表名、表别名、字段名、字段别名等都小写
    • SQL关键字、函数名、绑定变量等都大写

2.3 注释

#单行注释 (MySQL注释独有的方式)
-- 单行注释(--后空格)
/*
多行注释
*/

2.4 命名规则


  • pass to do

2.5 数据导入指令


  • 在命令客户端登录mysql,使用source指令导入

mysql> source d:\mysqldb.sql
#source + 数据库的绝对路径

  • 直接基于图形化管理界面导入数据库,Navicat直接拉文件进去。
    SQLyog中选择 “工具“ —— ”执行sql脚本“ —— 选中xxx.sql即可。

3. 基本的SELECT语句

SELECT 1; #没有任何子句**
SELECT 9/2; #没有任何子句**
SELECT 1+1 FROM DUAL; #dual是一个伪表**

3.1 SELECT … FROM …

这个就相当于投影π

SELECT 字段1,字段2,... FROM 表名; #字段就是属性名
SELECT * FROM 表名; # *代表所有的字段,把所有的属性列显示出来。选择语句会返回给我们一个结果集。

3.2 列的别名

SELECT employee_id emp_id,last_name AS lname,department_id FROM employees;
#表中字段名原本为employee_id,查询时加一个空格或者AS后面跟上另外一个名字(我们自己取的),查询返回结果集时,字段名就是我们定义的名字。但这并不会本质上改变我们表的字段名。
#as:全称为alias(别名)(可以省略不写、默认存在)
#列的别名同样也可以用一对双引号引起来。避免别名有空格而产生歧义性。

3.3 去除重复行

去除冗余的信息,获取不重复的数据

SELECT DISTINCT depatment_id FROM employees; #去除重复的department_id信息
SELECT DISTINCT depatment_id,salary FROM employees;
#给 department_id,salary 两个字段整体去重!
SELECT salary,DISTINCT depatment_id FROM employees
#错误写法!!先选了所有的salary再去重id,得到的结果集合表的记录条数不一致!

3.4 空值参与运算

**空值:null **

#空值null不等同于0、''、'null',null是一个未知的。
SELECT employee_id, salary "月工资",salary * (1 + commission_pct) * 12 "年工资" FROM employees;SELECT employee_id, salary "月工资",salary * (1 + IFNULL(commission_pct,0)) * 12 "年工资" FROM employees;#表示的意思就是,判断commission_pct是否为null,若为null则用0代替。

空值参与运算,结果一定为null
解决方法:引入IFNULL(,)


3.5 着重号

` 这就是着重号(英文输入下1左边的按键)
也就是你所用的字段名、表名与关键字或者保留字冲突(重名),就必须要用``引起来。


3.6 查询常数

SELECT '尚硅谷',employee_id,last_name FROM employees;
#前面的常数'尚硅谷'将会作为一个单独的字段出现在所查询到的结果集里面的每一行。

4. 显示表结构

使用DESCRIBE或DESC命令,表示表结构。

DESCRIBE employees;
or
DESC employees;
#显示了表中字段的详细信息。

5. 过滤数据

只筛选出满足某些条件的数据
相当于SIGMA选择,遵循先选择后投影的原则

SELECT *
FROM employees
#过滤条件,只选择出部门号为90的
WHERE department_id = 90;#WHERE要声明在FROM结构后面。SELECT *
FROM employees
#过滤条件,只选择出名字为'King'的
WHERE last_name = 'King';#SQL 是在windows下是不区分大小写的。



四、运算符


1. 算数运算符


1.1 四则运算

**+ - * /(div) **

SELECT 100, 100 + 0, 100 - 0, 100 + 50, 100 + 50 -30, 100 + 35.5, 100 - 35.5;
#结果就是一个表,属性列为这些运算的值,同时只有一个元组,内容也为这些运算值。#在SQL中,+没有连接作用,就表示加法运算。此时会将字符串转换为数值(隐式转换)
SELECT 100 * '1' FROM DUAL;
#结果:属性名为 100 + '1',元组值为101。#此时将'a'看做0处理。
SELECT 100 * 'a' FROM DUAL;#此时结果为null
SELECT 100 * null FROM DUAL;#100 div 0 结果为null

在SQL中,除法默认的就是浮点数。比如100/2 结果就为 50.000000


1.2 取模运算

%(mod)

#取模运算的结果符号取决于被模数的符号。
SELECT 12 % 3, 12 % 5, 12 MOD -5, -12 % 5, -12 % -5
FROM employees;#练习:查询员工id为偶数的员工信息
SELECT employee_id, last_name, salary
FROM employees
WHERE employee_id % 2 = 0;



2. 比较运算符

比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果为假则返回0,其他情况则返回NULL。

比较运算符经常被用来作为SELECT查询语句的条件来使用,返回符合条件的结果记录。


字母符号中文名称用途语句范例
=等于运算符判断两个值、字符串或表达式是否相等SELECT C FROM TABLE WHERE A = B;
<&#61;>安全等于运算符安全地判断两个值、字符串或表达式是否相等&#xff08;注意NULL &#xff09;SELECT C FROM TABLE WHERE A <&#61;> B;
<>或者!&#61;不等于运算符判断两个值、字符串或表达式是否不相等SELECT C FROM TABLE WHERE A <> B;
SELECT C FROM TABLE WHERE A !&#61; B;
<小于运算符判断前面的值、字符串或表达式是否小于后面的值、字符串或表达式SELECT C FROM TABLE WHERE A ;
<&#61;小于等于运算符判断前面的值、字符串或表达式是否小于等于后面的值、字符串或表达式SELECT C FROM TABLE WHERE A <&#61; B;
>大与运算符判断前面的值、字符串或表达式是否大于后面的值、字符串或表达式SELECT C FROM TABLE WHERE A > B;
>&#61;大于等于运算符判断前面的值、字符串或表达式是否大于等于后面的值、字符串或表达式SELECT C FROM TABLE WHERE A >&#61; B;

2.1 &#61;

SELECT 1 &#61; 2, 1 !&#61; 2, 1 &#61; &#39;1&#39;, 1 &#61; &#39;a&#39;, 0 &#61; &#39;a&#39; FROM employees;
#结果 0 1 1 0 1
#字符串存在隐式转换。如果转换数值不成功&#xff0c;则看做0。 SELECT &#39;a&#39; &#61; &#39;a&#39;, &#39;ab&#39; &#61; &#39;ab&#39;, &#39;a&#39; &#61; &#39;b&#39; FROM employees;
#结果 1 1 0
#两边都是字符串的话&#xff0c;则按照ANSI的比较规则进行比较。SELECT 1 &#61; NULL, NULL &#61; NULL FROM employees;
#结果 NULL NULL
#只要有NULL参与判断&#xff0c;结果一定为NULL。SELECT last_name, salary, commission_pct
FROM employess
WHERE commission_pct &#61; NULL;
#此时有NULL参与运算&#xff0c;不会有任何结果。

2.2 <&#61;>

SELECT 1 &#61; NULL, NULL &#61; NULL FROM employees;
#结果 0 1
#安全等于&#xff1a;若两个比较值&#xff0c;只有一个为NULL那么结果为NULL&#xff0c;如果两个为NULL那么结果为1。#练习&#xff0c;查询表中commission_pic属性值NULL的元组
SELECT last_name, salary, commission_pct
FROM employees
WHERE commission_pic <&#61;> NULL;

2.3 非符号比较运算符

在这里插入图片描述


  • IS NULL / IS NOT NULL / ISNULL( )

#练习1 查询表中commission_pic属性值为NULL的元组
SELECT last_name, salary, commission_pct
FROM employees
WHERE commission_pic IS NULL;
#或以下这种写法
SELECT last_name, salary, commission_pct
FROM employees
WHERE commission_pic ISNULL(commission_pct);#练习2 查询表中commission_pic属性值不为NULL的元组
SELECT last_name, salary, commission_pct
FROM employees
WHERE commission_pic IS NOT NULL;
#或
SELECT last_name, salary, commission_pct
FROM employees
WHERE NOT commission_pic <&#61;> NULL;

注意:运算表达书是有值的&#xff0c;只有当值为1时才输出&#xff0c;有的有NULL参与运算可能直接使运算结果为NULL从而不显示数据。


  • LEAST( )从多个属性 / 值 中&#xff0c;值的比较&#xff0c;返回较小的那个。
  • GREATEST( )从多个属性 / 值 中&#xff0c;值的比较&#xff0c;返回较大的那个。

SELECT LEAST(&#39;g&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;), GREATEST(&#39;g&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;);
SELECT LEAST(last_name,first_name), LEAST(LENGTH(last_name),LENGTH(first_name)) FROM employees;

  • BETWEEN…AND… &#xff08;包括边界值&#xff09;

#查询工资在6000到8000之间的数据
SELECT last_name, salary, commission_pct
FROM employees
WHERE salary BETWEEN 6000 AND 8000;
#运用逻辑操作符等价&#xff1a;
SELECT last_name, salary, commission_pct
FROM employees
WHERE salary >&#61; 6000 AND salary <&#61; 8000;#查询工资不在6000 到 8000 之间
SELECT last_name, salary, commission_pct
FROM employees
WHERE salary NOT BETWEEN 6000 AND 8000;
#运用逻辑操作符等价&#xff1a;
SELECT last_name, salary, commission_pct
FROM employees
WHERE salary >&#61; 6000 AND salary <&#61; 8000;

  • IN (set) / NOT IN (set) &#xff1a;离散型数据查找&#xff0c;查找一个集合里面的数据

#查找部门id为 10,20,30部门的员工信息。
SELECT last_name,salary,department_id
FROM employees
WHERE department_id IN (10,20,30);#以下这种写法是错误的&#xff0c;10,20,30本身非0&#xff0c;作或运算就为真&#xff0c;所以压根就没有选出数据。
SELECT last_name,salary,department_id
FROM employees
#WHERE department_id &#61; 10 OR 20 OR 30; 错误
WHERE department_id &#61; 10 OR department_id &#61; 20 OR department_id &#61; 30;#查询工资不是6000,7000,8000的员工信息。
SELECT last_name,salary,department_id
FROM employees
WHERE salary NOT IN (6000,7000,8000);

  • LIKE&#xff1a;模糊匹配查询&#xff08;正则表达式&#xff09;

#练习1&#xff1a;查询last_name中包含字符&#39;a&#39;的员工信息。
SELECT last_name
FRoM employees
WHERE last_name LIKE &#39;%a%&#39;;
# % 代表不确定个数的字符&#xff08;0, 1或者多个&#xff09;#练习2&#xff1a;查询last_name中以&#39;a&#39;开头的员工信息。
SELECT last_name
FRoM employees
WHERE last_name LIKE &#39;a%&#39;;#练习3&#xff1a;查询last_name中包含字符&#39;a&#39;且包含字符&#39;e&#39;的员工信息。
#写法1&#xff1a;
SELECT last_name
FRoM employees
WHERE last_name LIKE &#39;%a%&#39; AND last_name LIKE &#39;%e%&#39;;
#写法2&#xff1a;
SELECT last_name
FRoM employees
WHERE last_name LIKE &#39;%a%e%&#39; OR last_name LIKE &#39;%e%a%&#39;;##练习4&#xff1a;查询last_name中第二个字符为&#39;a&#39;的员工信息。
SELECT last_name
FRoM employees
WHERE last_name LIKE &#39;_a%&#39;;
#下划线代表一个不确定的字符。#练习4&#xff1a;第二个字符为&#39;_&#39;且第3个字符是&#39;a&#39;的员工信息。
SELECT last_name
FRoM employees
WHERE last_name LIKE &#39;_\_a%&#39;;#练习5(了解即可)&#xff1a;第二个字符为&#39;_&#39;且第3个字符是&#39;a&#39;的员工信息。
SELECT last_name
FRoM employees
WHERE last_name LIKE &#39;_$_a%&#39; ESCAPE &#39;$&#39;;
#使用ESCAPE让美元符号$变成转移符号。

  • REGEXP / RLIKE &#xff1a;正则表达式

REGEXP运算符在进行匹配时&#xff0c;常用的有下面几种通配符&#xff1a;

(1)&#39;^&#39;匹配以该字符后面的字符开头的字符串。
(2)&#39;$&#39;匹配以该字符前面的字符结尾的字符串。
(3)&#39;.&#39;匹配任何一个单字符。
(4)"[...]"匹配在方括号内的任何字符。例如&#xff1a;"[abc]"匹配"a"或"b"或"c"。为了命名字符的范围&#xff0c;使用一个&#39;-&#39;。"[a-z]"匹配任何字母&#xff0c;而"[0-9]"匹配任何数字。
(5)&#39;*&#39;匹配零个或多个在它前面的字符。例如&#xff0c;"x*"匹配任何数量的&#39;x&#39;字符&#xff0c;"[0-9]*"匹配任何数量的数字&#xff0c;而"*"匹配任何数量的任何字符。

SELECT &#39;atguigu&#39; REGEXP &#39;gu.gu&#39;
FROM exployees;
#找出&#39;atguigu&#39;这个字符中有没有&#39;gu....gu&#39;这个字符&#xff0c;...表示中间无论有多少字符。



3.逻辑运算符


运算符作 用示例
NOT 或 !逻辑非SELECT NOT A
AND 或 &&逻辑与SELECT A AND B
SELECT A && B
OR 或 ||逻辑或SELECT A OR B
SELECT A || B
XOR逻辑异或SELECT A XOR B

推荐阅读
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • springboot启动不了_Spring Boot + MyBatis 多模块搭建教程
    作者:枫本非凡来源:www.cnblogs.comorzlinp9717399.html一、前言1、创建父工程最近公司项目准备开始重构,框 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 一面自我介绍对象相等的判断,equals方法实现。可以简单描述挫折,并说明自己如何克服,最终有哪些收获。职业规划表明自己决心,首先自己不准备继续求学了,必须招工作了。希望去哪 ... [详细]
  • 今天我们学习,数据库mongodb的使用,最下面有mongodb的下载链接。pipinstallpymongo首先安装pymongo,然后在需要用到的地方importpymongo ... [详细]
  •     系统采用jeeplus框架(ssm+redis+shiro+mongodb+redis),默认是做了JSP未做前后端分离,由于业务需要已经多终端使用的需求(H5、小程序等) ... [详细]
  • 【实战】MongoDB 分片原理概述 + 部署 MongoDB 分片群集 +【源码包】
    目录:1·MongoDB分片概述2·部署MongoDB分片群集3·MongoDB分片管理4·推荐MongoDB、MySQL基础文章5·文章总结MongoDB分片概述1)什么是分片: ... [详细]
author-avatar
mobiledu2502862777
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有