自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Ubuntu20.04安装MySQL

准备安装 libiao 依赖库。sudo apt install libaio1 libaio-dev创建一个不能不能登录的 mysql 系统用户,这个用户默认属于 mysql 用户组。sudo useradd -r -s /bin/false mysql去官网下载 tar.xz 格式的安装包。地址如下https://www.mysql.com/downloads/安装解压。tar -xvf ./mysql-8.0.17-linux-glibc2.12-x86_64.t

2020-07-12 23:01:57 1154 1

原创 MarkDown详细使用方法

MarkDown使用教程文章目录MarkDown使用教程1. 目录2. 标题Setext headersATX headers3.段落格式段落字体分隔线删除线下划线脚注4. 列表列表嵌套计划任务5. 区块(引用)区块中使用列表列表中使用区块6. 代码代码区块7. 链接高级链接8. 图片9. 表格10. 高级技巧支持的 HTML 元素转义公式画流程图、时序图(顺序图)、甘特图11. 参考1. ...

2020-05-02 14:18:48 687

原创 Struts2接收表单数据的方式

方式1. 使用原始方式获取表单数据封装到实体类对象login.jsp<html> <head> <title>登陆页面</title> </head> <body> <form action="test/login" method="post"> 用户:<inp...

2019-06-29 22:14:34 656

原创 3、Bottle配置动态路由

  包含通配符的路由称为动态路由,动态路由可以同时匹配多个URL。在Bottle中一个简单的通配符由一个用尖括号括起来的名称组成(如<name>)直到接受到下一个 / 为止。例如路由 /hello/<name> 支持接受 /hello/bob,/hello/jack 等请求,但当使用 /hello、 /hello/ 和 /hello/bob/index 等请求时则会报404...

2019-05-04 22:10:28 999

原创 Struts2标签库1、控制标签

通用标签用来在页面表示的时候控制代码执行的过程,这些标签也允许从Action或者值栈中取得数据。if标签、else 标签、elseIf 标签If标签用来控制基本的条件处理流程,通常和else标签或者elseif标签连用。名字是否必须可否使用表达式类型描述idfalsetrueString用来表示该元素,对于UI和Form标签来说直接转变为HTML id属性...

2019-05-04 19:48:14 203

原创 MyBatis插入操作:生成主键

1.如果使用的数据库支持主键自动增长(如MySql和SQL Server),使用MyBatis生成主键具体配置示例如下。<insert id="addUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.lesour.po.User"> insert into t_customer(username , ...

2019-05-01 13:15:58 3974

原创 2、创建Bottle应用

  上个教程我们已经简单地创建了一个web项目,在配置路由的时候route()函数有一个app参数我们并没有用到,它默认使用的是default_app()。但是我们的网站可能包含很多应用,如博客系统,投票系统,这个时候就要使用Bottle对象来创建多个app了。1.创建一个appfrom bottle import Bottle, runroot = Bottle()@root.rout...

2019-04-26 21:11:40 599

原创 1、Python微型web框架Bottle简介

  Bottle是一个基于Python的快速、简单、轻量级的WSGI微web框架。说微型,是因为它只有一个文件,除了Python标准库之外没有其他依赖项。1.使用Bottle开发web应用之前我们先安装bottle库方法1:使用pip安装pip install bottle方法2:直接将bottle.py文件导入项目中,bottle.py文件可以在官网上下载 https://bot...

2019-04-26 16:41:47 1804

原创 10、树的基本概念

1.定义和基本术语树(tree) 是由n(n≥0)n(n\geq0)n(n≥0)个结点组成的有限集合。  如果n=0n=0n=0,他是一棵空树,如果n&gt;0n&gt;0n>0,这n个结点中仅有一个结点作为树的根结点 ,简称为根(root) ,其余结点可分为m(m≥0m(m\geq0m(m≥0个互不相交的有限集,其中每个子集又符合树的定义,这些子集称为根结点的子树。...

2019-04-25 19:29:29 432

原创 SQL Server数据库:视图

视图: 视图是从一个或多个表或其他视图中导出的表。视图的优点:  1). 为用户集中数据,简化用户的数据查询和处理。  2). 简化操作,屏蔽了数据库的复杂性。  3). 重新定制数据,使数据便于共享。  4). 合并分割数据,便于数据输出到应用程序中。  5). 简化用户权限的管理,增加安全性。...

2019-04-12 18:33:12 3082 1

原创 【Java Web开发】DAO和VO

1.pom.xml文件的<dependencies>标签下添加以下代码。 <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>7.2....

2019-04-11 22:14:28 4530

原创 Java用JDBC方式连接SQL Server 2017

1.下载对应SQL Server JDBC驱动链接:https://docs.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017。我用的是7.0的2.将下载好的jdbc驱动解压,得到以下文件。3.把xa和auth文件夹下x64(64...

2019-04-11 21:20:28 2738

原创 JavaBean配置

在JSP内嵌入大量的Java代码可能会造成维护不方便。为此最好的方就是把JSP代码和Java代码分开,将JSP中的Java代码移植到Java类中。这些可能用到的类就是JavaBean。JavaBean实现步骤如下:1.在src中新建一个beans包,建立相应的Java类,编写相应的JavaBean实例。package lesour.beans;public class Account ...

2019-04-11 19:33:43 874

原创 Eclipse创建一个Java Webapp

1.创建一个Maven Project2.此时虽然webapp已经创建成功了但如果点开jsp文件会发现以下错误信息这是因为还没为webapp还没有引入Tomcat服务器运行时库。解决方法:选中项目右键->Build Path->Add Libraries->Server Runtime->选择相应服务器3.运行webapp以Tomcat Server运行...

2019-04-11 17:39:29 2201

原创 SQL Server 数据库常用操作:子查询(嵌套查询)

在实际应用中经常有一些 SELECT 语句需要使用其他 SELECT 语句的查询结果,此时就要用到子查询了。子查询: 就是嵌套在另一个查询语句中的查询语句,也叫**嵌套查询。**外部的 SELECT 语句叫外围查询,内部的 SELECT 语句叫子查询。子查询和连接: 虽然子查询和连接都要查询多个表,但子查询和连接不同,子查询是更为复杂的查询。子查询优点(与连接比): 子查询可以计算一个...

2019-04-08 22:19:43 13116

原创 9、串(顺序串)

1.串的基本概念串:由零个或多个字符组成的有限序列。子串:一个串中任意个连续字符组成的序列。如串 “abcde”,的子串有 “a”、“b”、“ab”、“abc”、“abcde” 等。串和线性表一样,也有顺序存储结构(顺序串)和链式存储结构(链串)。2.顺序串顺序串存储方式有:非紧缩格式,紧缩格式。一个字节可以表示一个字符。由于计算机内存是按字编址的,即以字为存储单位,一个存储单元指的...

2019-04-08 19:46:29 2077

原创 SQL Server 数据库常用操作:多表联查(JOIN...ON语句的使用)

1.使用传统连接方式查询  (1). 有两张表Book(BookID,BookName,TypeID,AuthorID,…),BookType(TypeID,TypeName),查询每本书的书名和图书类型。SELECT BookName, TypeNameFROM Book, BookTypeWHERE Book.TypeID = BookType.TypeID  (2). 有三张表B...

2019-04-07 19:46:42 35186

原创 8、队列

  队列简称队,它是一种操作受限的线性表,仅允许在一端进行插入操作,而在另一端进行删除操作。  进行插入的一端叫做队尾; 进行删除的一端叫做队首。 插入操作叫做入队或进队;删除操作叫出队或离队。  与栈的先进后出 不同,元素进出队的次序是先进先出。 队根据数据存储结构的不同也分为顺序队和链队。一、顺序队1.对顺序队操作四个非常重要的要素。队空的条件:q->front == q-...

2019-04-06 22:10:14 245

原创 C语言—预处理器3:是否被定义(#ifdef、#ifndef)和嵌套指令

1.是否被定义#if defined(symbol)#ifdef symbol #if !defined(symbol)#ifndef symbol   上面没对语句都是等价的,但是 #if 形式功能更强大。因为常量表达式可能包含额外的条件,如下面所示#if X > 0 || defined(ABC) && defined(DEF)2.嵌套指令预编译处理...

2019-04-04 22:17:09 2086

原创 C语言—预处理器2:条件编译(#if、#else、#elif和#endif)

在编译一个程序时,可以条件编译来实现代码在某种条件下编译或忽略,这样会程序的维护性修改。使用条件编译,可以选择代码的一部分是被正常编译还是完全忽略。支持条件编译的语句是 #if 指令和与其匹配的 #endif 指令。语法形式如下:#if constant-expression statements#endif预编译器会对constant-expression(常量表达式)进行求值,如果...

2019-04-04 21:54:17 1587

原创 Python列表操作—删除列表元素问题

 有时候可能需要删除列表中指定元素的所有重复,我们很自然就想到用“循环+remove()”的方法,但是具体操作时很有可能会出现出乎意料的错误,代码运行没有错误,但结果却是错的,或者结果有时候正确有时候不正确。例如:if __name__ == '__main__': x = [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1] for i in x:...

2019-04-04 20:57:03 2529

原创 SQL Server 数据库常用操作:简单查询(SELECT、UPDATE语句的使用)

1.投影列查询Book表,显示所有书的书名,ID和价格SELECT BookName, BookID, Price FROM Book查询Book表,显示所有信息SELECT * FROM Book查询Book表,限制返回行数SELECT TOP 50 * FROM Book /*查询Book表中前50%的书的信息*/查询Book表,显示所有书的书名,ID和价格,将列名Pric...

2019-04-04 19:51:57 1920

原创 SQL Server 数据库常用操作:修改数据(ALTER、UPDATE语句的使用)

1.修改数据库修改数据库的语法如下:ALTER DATABASE database_nameMODIFY FILE<filespec> /*修改数据库的属性*/修改数据文件ALTER DATABASE Publish /*修改数据库Publish*/MODIFY FILE /*修改数据文件*/(NAME = 'Publish1', /*数据...

2019-04-04 18:50:38 12461 1

原创 7、栈

 栈是一种只能在一端进行插入和删除操作的线性表。允许进行插入、删除的一端称为栈顶,另一端称为栈底。栈的插入操作通常称为进栈或入栈栈的删除操作叫出栈或退栈。 栈的主要特点是后进先出,即后进栈的元素先出栈。每次进栈的数据元素都放在栈顶元素之前成为新的栈顶元素。每次出栈的元素都是当前栈顶元素。 栈可以像线性表一样采用顺序存储的方式进行存储数据也可以采用链式存储的方式存储数据,采用顺序存储结构的栈称为...

2019-04-04 15:20:48 266

原创 6、循环链表

 循环链表是另一种形式的链式存储结构。循环链表有循环单链表和循环双链表两种类型。循环单链表的结点类型和非循环链表的结点类型相同。 把非循环单链表改为循环单链表只要把它的尾结点next指针域由原来的NULL改为指向头节点就行了。从循环单链表的任何一个结点出发均可找到链表中的其他结点。双链表的尾结点的next指针域指向头节点,头节点的prior指针域指向尾结点就形成了一个循环双链表。单链表:循...

2019-04-01 21:13:55 326

原创 C语言—预处理器1:宏(#define)

 C预处理器在源代码编译之前对其进行一些文本性质的操作。它的主要任务包括删除注释、插入被#include指令包含的内容、定义和替换由#define指令定义的符号以及确定代码的部分内容是否应该根据一些条件编译指令进行编译。C语言提供了以下几种重要的预处理器指令:指令描述#include包含一个源代码文件#define定义宏#undef取消已定义的宏#i...

2019-03-30 21:59:11 996

原创 SQL Server 数据库常用操作:删除数据(DROP、DELETE语句的使用)

1.删除数据库格式如下:DROP DATABASE { database_name|database_snapshot_name}[,...n]例如:DROP DATABASE PublishGO2.删除数据格式如下:DELETE [FROM] table_name [WHERE <search_condition>]例如:DELETE FROM BookW...

2019-03-30 16:31:03 7141

原创 SQL Server 数据库常用操作:创建(CREATE、INSERT语句的使用)

假如要你设计图书出版管理数据管理系统,该系统E-R图如下:根据E-R图设计数据库1.创建数据库CREATE DATABASE Publish /*创建Publish数据库*/ONPRIMARY( NAME = 'Publish_main', /*主数据文件逻辑名*/ FILENAME = 'D:\DATABASE\Publish.mdf', /*主数据文件...

2019-03-30 16:14:07 3835

原创 5、线性表的链式存储结构(双链表)

 对于双链表中,由于每个结点既包含一个指向后继结点的指针,又包含这个指向前驱结点的指针,所有访问一个结点既可以依次向后访问每一个结点,又可以依次向前访问每一个结点。 双链表有些运算的算法与单链表相应的算法是相同的,主要的是双链表的插入和删除操作与单链表有所区别。可以参考单链表的算法实现。双链表的实现:1.声明双链表类型typedef int ElemType;typedef struct...

2019-03-30 14:40:09 429

原创 4、线性表的链式存储结构(单链表)

 线性表的链式存储结构称为链表。线性表采用链式存储时,最简单,最常用的方法是在每个结点中设置一个指针域用于指向其后继结点,这样构成的链表称为单链表;另一种采用的方法是在每个结点中设置两个指针域,分别用于指向其前驱结点和后继结点,这样构成的链表称为双链表。 在链表中通常每个链表都带有一个头结点,并通过头结点的指针唯一表识该链表,称为头指针,指向尾结点的指针称为尾指针。 在单链表中,由于每个结点只...

2019-03-29 19:12:08 860

原创 3、线性表的顺序存储结构(顺序表)

线性表的顺序存储结构是把线性表中的元素中的元素按照其逻辑顺序依次存储到计算机存储器中指定位置开始的一块连续的存储空间中,它直接将线性表的逻辑结构映射到存储结构上,既方便理解,又容易实现。...

2019-03-29 14:36:39 3333

原创 Python多线程—线程同步

当多个线程同时读写同一份共享资源的时候,可能会引起冲突。 这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。 线程同步的真实意思和字面意思恰好相反。 线程同步的真实意思,其实是“排队”:几个线程之间要排队,一个一个对共享资源进行操作,而不是同时进行操作。Python threading模块提供了Lock/RLock、Condition、queue、Ev...

2019-03-25 23:05:17 8843 1

原创 2、递归算法的设计

1. 能够使用递归的条件:一般来说,能够使用递归解决问题应该满足以下3个条件:需要解决的问题可以转化为一个或多个子问题来解决,而这些子问题的求解方法与原问题完全相同,只是在数量规模上不同。递归调用的次数必须是有限的。必须有结束递归的条件来终止递归。2. 递归算法的设计步骤:对原问题 f(sn) 进行分析,假设出合理的小问题 f(sn-1)。 给出 f(sn) 与 f(sn-1)...

2019-03-25 14:54:47 2185

原创 1、算法分析

算法分析算法分析就是分析算法占用计算机资源的多少。 而计算机资源主要是CPU时间和内存空间,分析算法占用CPU资源的多少称为时间性能分析,分析算法占用内存资源的多少称为空间性能分析。衡量算法时方法事前估算法事后统计法时间复杂度算法执行时间≈\approx≈算法中一条语句执行的时间×\times×时间频度T(n)也就是说T(n)与算法的执行时间成正比,为此用T(n)表示算法的执行时间,比较...

2019-03-24 22:57:47 1495

原创 C语言指针(2):指针的应用

1. 指针变量作为函数参数#include<stdio.h>#include<Windows.h>void swap(int * x, int * y){ int tmp; tmp = *x; *x = *y; *y = tmp; //交换*x和*y所指向的变量的值}int main(){ int a = 1, b = 2; printf("...

2019-03-24 14:43:35 547 1

原创 C语言指针(1):什么是指针

1.指针一个变量的地址称为该变量的指针定义指针变量的一般形式为:类型名 * 指针变量名 如:int * p_1, * p_2; 说明:1.指针变量前面的“ * ”表示该变量的类型为指针变量。2.在定义指针变量时必须指定基类型。...

2019-03-24 13:13:13 430

原创 Python多线程—threading模块详解

threading模块threading模块是Python支持的多线程编程的重要模块,该模块是在底层模块_thread的基础上开发的更高层次的多线程编程接口,提供了大量的方法和类来支持多线程编程。threading模块常用方法如下:方法功能说明threading.active_count()返回当前处于active状态的Thread对象threading.curr...

2019-03-24 12:11:57 1243

原创 Windows下使用压缩包的方式安装MySQL

1. 下载MySQL的zip安装包可以在MySQL的官网上下载,链接:https://dev.mysql.com/downloads/mysql/2. 将下载到的压缩包解压到你要安装的目录如D:\MySQL-8.0.143. 配置环境变量在系统变量中新建一个环境变量:MYSQL_HOME: D:\MySQL-8.0.14在path 后面添加 %MYSQL_HOME%...

2019-03-23 12:21:14 446

原创 输出型参数的设计及C++引用运算符“&”的使用

输出型参数的设计及引用运算符“&”的使用函数根据数据传递方向可分为:1、输入型参数:是指这个参数的值已知,由外面传给函数里使用。2、输出型参数:是指这个参数的值未知,要通过函数传出来。设计一个交换两个整数的算法,编写相应的函数swap(x,y)如下:void swap(int x, int y){ int tmp; tmp = x; x = y; y = tmp;}...

2019-03-23 11:33:01 1990

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除